一,区分标识符与关键字
标识符是用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列。
关键字是Java语言中已经被赋予特定意义的一些单词。不可以把关键字做为标识符来用。
Java语言使用Unicode标准字符集,最多可以识别65536个字符。Unicode字符集的前128个字符刚好是ASCII码表。Java所使用的字母不仅包括通常的字母a、b、c等,也包括汉语中的汉字、朝鲜文、俄文、希腊字母以及其它许多语言中的文字。
二,标识符命名规则
标识符由字母、下划线、美元符号和数字组成,长度不受限制
标识符第一个字符不能是数字
标识符不能是关键字
标识符不能是true,false,null。
三、基本数据类型
基本数据类型一共有八种
整数型:int long short byte
浮点型:float double
字符型: char
逻辑型:boolean
四、类型转换运算
Java中数据的基本类型(不包括逻辑类型)按精度从“低”到“高”排列:
byte short char int long float double
★当把级别低的变量的值赋给级别高的变量时,系统自动完成数据类型的转换。例如:
float x=100;
★当把级别高的变量的值赋给级别低的变量时,必须使用显示类型转换运算。显示转换的格式:(类型名)要转换的值;
例如
int x=(int)34.89;
★当把一个int型常量赋值给一个byte和short型变量时,不可以超出这些变量的取值范围,否则必须进行类型转换运算;例如,常量128的属于int型常量,超出byte变量的取值范围,如果赋值给byte型变量,必须进行byte类型转换运算(将导致精度的损失),如下所示:
byte a=(byte)128;
五、输入输出数据
输入基本数据类型
Scanner是JDK1.5新增的一个类,可以使用该类创建一个对象:
◆使用Scanner类创建一个对象:
Scanner reader=new Scanner(System.in);
◆reader对象调用下列方法,读取用户在命令行(例如,MS-DOS窗口)输入的各种基本类型数据:
nextBoolean()、 nextByte()、 nextShort()、 nextInt()
nextLong()、nextFloat()、nextDouble()。
上述方法执行时都会堵塞,程序等待用户在命令行输入数据回车确认。
输出基本型数据
用System.out.println()或System.out.print()可输出串值、表达式的值,二者的区别是前者输出数据后换行,后者不换行。
◆ 允许使用并置符号:“+”将变量、表达式或一个常数值与一个字符串并置一起输出,如:
System.out.println(m+"个数的和为"+sum);
System.out.println(“:”+123+“大于”+122)
◆JDK1.5新增了和C语言中printf函数类似的数据输出方法,该方法使用格式如下:System.out.printf("格式控制部分",表达式1,表达式2,…表达式n)
格式控制部分由格式控制符号:%d、%c、%f、%s和普通的字符组成,普通字符原样输出。格式符号用来输出表达式的值。
%d:输出int类型数据值
%c:输出char型数据。
%f:输出浮点型数据,小数部分最多保留6位
%s:输出字符串数据。
输出数据时也可以控制数据在命令行的位置,例如:
%md:输出的int型数据占m列
%m.nf:输出的浮点型数据占m列,小数点保留n位。
六、数组
数组是相同类型的变量按顺序组成的一种复合数据类型,称这些相同类型的变量为数组的元素或单元。数组通过数组名加索引来使用数组的元素。数组属于引用型变量,创建数组需要经过声明数组和为数组分配变量两个步骤。
一是声明数组包括数组变量的名字(简称数组名)、数组的类型。
声明一维数组有下列两种格式:
数组的元素类型 数组名[];
数组的元素类型 [] 数组名;
声明二维数组有下列两种格式:
数组的元素类型 数组名[][];
数组的元素类型 [][] 数组名;
例如:
float boy[];
char cat[][];
注 与C/C++不同,Java不允许在声明数组中的方括号内指定数组元素的个数。若声明: int a[12]; 或 int [12] a; 将导致语法错误。
二是为数组分配元素
声明数组后,还必须为它分配内存空间,即创建数组。
为一维数组分配内存空间的格式如下:
数组名字 = new 数组元素的类型[数组元素的个数];
例如:float boy[]; //声明数组
boy= new float[4];
为数组分配元素后,数组boy获得4个用来存放float类型数据的变量,即4个float型元素。数组变量boy中存放着这些元素的首地址,该地址称作数组的引用,这样数组就可以通过索引使用分配给它的变量,即操作它的元素。
三是数组元素的访问。通过索引访问,索引从0开始。
四是length的使用
数组的元素的个数称作数组的长度。
对于一维数组,“数组名.length”的值就是数组中元素的个数。
对于二维数组“数组名.length”的值是它含有的一维数组的个数。
例如,对于
float a[] = new float[12];
int b[][] = new int[3][6];
a.length的值12;而b.length的值是3。
五是数组的初始化
创建数组后,系统会给数组的每个元素一个默认的值,如,float型是0.0。
在声明数组的同时也可以给数组的元素一个初始值,如:float boy[] = { 21.3f,23.89f,2.0f,23f,778.98f};
也可以直接用若干个一维数组初始化一个二维数组,这些一维数组的长度不尽相同,
例如:
int a[][]= {{1}, {1,1},{1,2,1}, {1,3,3,1},{1,4,6,4,1}};
七、枚举类型
JDK1.5 引入了一种新的数据类型枚举类型。Java使用关键字enum声明枚举类型,语法格式如下:
enum 名字
{ 常量列表
}
其中的常量列表是用逗号分割的字符序列,称为枚举类型的常量。例如:
enum Season
{ spring, summer, autumn, winter
}
声明了名字为Season的枚举类型,该枚举类型有4个常量。
声明了一个枚举类型后,就可以用该枚举类型声明一个枚举变量,该枚举变量只能取值枚举类型中的常量。通过使用枚举名和“.”运算符获得枚举类型中的常量。例如: Season.spring;
八、小节
(1)标识符由字母、下划线、美元符号和数字组成,并且第一个字符不能是数字字符
(2)Java语言有8种基本数据类型:boolean、byte、short、int、long、float、double、char。
(3)数组是相同类型的数据元素按顺序组成的一种复合数据类型,数组属于引用型变量,因此两个相同类型的数组如果具有相同的引用,它们就有完全相同的元素。
(4) JDK1.5引入了一种新的数据类型:枚举类型。