Java的发展可以归纳如下的几个阶段。
(1)第一阶段(完善期):JDK 1.0 ( 1995年推出)一JDK 1.2 (1998年推出,Java更名为Java 2);
(2)第二阶段(平稳期):JDK 1.3一JDK 1.4;
(3)第三阶段(发展期):JDK 1.5(2005年推出)一JDK 1.7(被Oracle收购后推出)。
在开发上更是分为了Java SE, Java EE, Java ME,下面分别解释这3个方向的区别。
(1)J2SE:Java 2 Platform Standard Edition( 2005年之后更名为Java SE )。包含构成Java语言核心的类。比如数据库连接、接口定义、数据结构、输入/输出、网络编程。
(2)J2EE:Java 2 Platform Enterprise Edition ( 2005年之后更名为Java EE )。Enterprise Edition(企业版)包含J2SE中的所有类,并且还包含用于开发企业级应用的类。比如EJB、Servlet、JSP、XML、事务控制,即是现在Java应用的主要方向,像一些银行或电信的系统大多基于此架构。
(3)J2ME:Java 2 Platform Micro Edition ( 2005年之后更名为Java ME )。用于消费类电子产品的软件开发。比如呼机、智能卡、手机、PDA、机顶盒。
关于编译型和解释型语言:
如果从编程语言的角度而言,应该分为两种:
(1)编译型:学习过C语言的同学应该知道,编译之后会出现一个*.exe文件,供用户
使用。
(2)解释型:像ASP语言那样,直接将代码放到服务器上进行解释执行。
所有的Java程序文件的后缀都应该是“*.java",而任何一个*.java程序首先必须经过编译,编译之后会形成一个*.class的文件(字节码文件),而后在计算机上执行,但是解释程序的计算机并不是一台真正意义上的计算机,而是一台由软件和硬件模拟出来的计算机—Java虚拟机(Java Virtual Machine. JVM)。
在Java中,所有的程序都是在Java虚拟机上运行的。Java虚拟读取并处理经编译过的与平台无关的字节码class文件。Java解释器负责将Java虚拟机的代码在特定的平台上运行。
在程序中用于定义名称的都为标识符,如文件名称、类名称、方法名称或变量名称等,在
Java中标识符的定义格式由字母、数字、_(下划线),$所组成,不能以数字开头,不能是Java中的关键字,而且每一个标识符都要有自己的意义,如StudentName,表示的是学生姓名。
| 
 abstract  | 
 assert  | 
 boolean  | 
 break  | 
 byte  | 
 case  | 
 catch  | 
| 
 char  | 
 class  | 
 continue  | 
 const  | 
 default  | 
 do  | 
 double  | 
| 
 else  | 
 extends  | 
 enum  | 
 final  | 
 finally  | 
 float  | 
 for  | 
| 
 goto  | 
 if  | 
 implements  | 
 import  | 
 instanceof  | 
 int  | 
 interface  | 
| 
 long  | 
 native  | 
 new  | 
 package  | 
 private  | 
 protected  | 
 public  | 
| 
 return  | 
 short  | 
 static  | 
 synchronized  | 
 super  | 
 strictfp  | 
 this  | 
| 
 throw  | 
 throws  | 
 transient  | 
 try  | 
 void  | 
 volatile  | 
 while  | 
| 
 四类  | 
 八种  | 
 字节数  | 
 数据表示范围  | 
| 
 整型  | 
 byte  | 
 1  | 
 -128~127  | 
| 
 short  | 
 2  | 
 -32768~32767  | 
|
| 
 int  | 
 4  | 
 -2147483648~2147483648  | 
|
| 
 long  | 
 8  | 
 -263~263-1  | 
|
| 
 浮点型  | 
 float  | 
 4  | 
 -3.403E38~3.403E38  | 
| 
 double  | 
 8  | 
 -1.798E308~1.798E308  | 
|
| 
 字符型  | 
 char  | 
 2  | 
 表示一个字符,如(‘a‘,‘A‘,‘0‘,‘家‘)  | 
| 
 布尔型  | 
 boolean  | 
 1  | 
 只有两个值true与false  | 
数据类型从小到大
byte -> short -> int -> long -> float -> double
范围小的数据类型值(如byte),可以直接转换为范围大的数据类型值(如int);
范围大的数据类型值(如int),不可以直接转换为范围小的数据类型值(如byte);
l 自动类型转换
表示范围小的数据类型转换成范围大的数据类型,这种方式称为自动类型转换
自动类型转换格式:
范围大的数据类型 变量 = 范围小的数据类型值;
如:
double d = 1000;
或
int i = 100;
double d2 = i;
l 强制类型转换
表示范围大的数据类型转换成范围小的数据类型,这种方式称为强制类型转换
强制类型转换格式:
范围小的数据类型 变量 = (范围小的数据类型) 范围大的数据类型值;
如:
int i = (int)6.718; //i的值为6
或
double d = 3.14;
int i2 = (int)d; //i2的值为3
原文:https://www.cnblogs.com/marswenze/p/13182663.html