1. Java概述
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虚拟机的代码在特定的平台上运行。
2.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 |
3.Java4类8常
四类 | 八种 | 字节数 | 数据表示范围 |
整型 | 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 |
4.Java 数据转换
数据类型从小到大
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