1、第第2章章 基本类型、数组和枚举类型基本类型、数组和枚举类型2.1 标识符和关键字2.2 基本数据类型2.3 从命令行输入输出数据2.4 数组2.5 枚举类型2.6 小结2.1 标识符和关键字标识符和关键字2.1.1 标识符 l标识符由字母、下划线、美元符号和数字组成,长度不受限制l标识符的第一个字符不能是数字 l标识符不能是关键字l标识符不能是true、false和nulll标识符中的字母区分大小写lJava语言使用Unicode标准字符集2.1.2 关键字 abstract、assert、boolean、break、byte、case、catch、char、class、const、cont
2、inue、default、do、double、else、enum、extends、final、finally、float、for、goto、if、implements、import、instanceof、int、interface、long、native、new、package、private、protected、public、return、short、static、strictfp、super、switch、synchronized、this、throw、throws、transient、try、void、volatile、while 2.2 基本数据类型基本数据类型l 逻辑类型:boole
3、anl 整数类型:byte、short、int、longl 字符类型:charl 浮点类型:float、double2.2.1 逻辑类型逻辑类型 l常量:true、falsel变量:使用关键字boolean声明,声明时也可以赋给初值例如:boolean x,ok=true,关闭=false;2.2.2 整数类型整数类型 1.int型l常量:十进制、八进制(0开头)、十六进制(0 x开头)l变量:使用关键字int声明,声明时也可以赋给初值例如:int x=12,平均=9898,jiafei;l存储:占4个字节内存单元2.byte型l变量:使用关键字byte声明,声明时也可以赋给初值例如:byte
4、 x=-12,tom=28,漂亮=98;l存储:占1个字节内存单元l常量:没有byte型常量单独的表示法,如果需要强调一个整数是byte型数据,可以使用强制类型转换运算,例如:(byte)283.short型l变量:使用关键字short声明,声明时也可以赋给初值例如:short x=12,y=12334;l存储:占2个字节内存单元l常量:没有short型常量单独的表示法,如果需要强调一个整数是short型数据,可以使用强制类型转换运算,例如:(short)-124.long型l常量:long型常量用后缀L表示,例如:12L,0127L,0 x3AF8Ll变量:使用关键字long声明,声明时也可
5、以赋给初值例如:long width=12L,height=200L;l存储:占8个字节内存单元2.2.3 字符类型l常量:用单引号括起来的Unicode字符集中的一个字符,如A、h、?、中、nl变量:使用关键字char声明,声明时也可以赋给初值,可以用字符在Unicode字符集中的排序位置来给char型变量赋值例如:char ch=A,home=家,好=22909;例2.1l存储:占2个字节内存单元2.2.4 浮点类型1.float型l常量:float型常量用f或F作为后缀,可以用小数表示法,也可以用指数表示法l变量:使用关键字float声明,声明时也可以赋给初值例如:float x=22.
6、76f,weight=1e-12F;l存储:占4个字节内存单元l有效数字:保留8位有效数字2.double型l常量:double型常量用d或D作为后缀(可以省略),可以用小数表示法,也可以用指数表示法l变量:使用关键字double声明,声明时也可以赋给初值例如:double height=23.25,length=1e12;l存储:占8个字节内存单元l有效数字:保留16位有效数字2.2.5 基本数据类型的转换l除了逻辑类型之外的基本数据类型按精度从低到高排列如下:byte、short、char、int、long、float、doublel当把级别低的变量的值赋给级别高的变量时,系统自动完成数据
7、类型的转换例如:float x=100;l当把级别高的变量的值赋给级别低的变量时,必须使用显式类型转换运算,显式类型转换的格式为:(类型名)要转换的值 此时应注意强制类型转换可能导致数据精度的损失 例2.22.3 从命令行输入输出数据从命令行输入输出数据2.3.1 输入基本型数据l 先使用Scanner类创建一个对象:Scanner reader=new Scanner(System.in);l 然后调用reader对象的相应方法nextBoolean()、nextByte()、nextShort()、nextInt()、nextLong()、nextFloat()和nextDouble(),
8、用来读取用户在命令行输入的各种基本的类型的数据 例2.32.3.2 输出基本型数据输出基本型数据可以使用如下两种方法:lSystem.out.println(输出内容)输出数据后换行lSystem.out.print(输出内容)输出数据后不换行也可以使用类似C语言中的printf的方法lSystem.out.printf(“格式控制”,表达式表)2.4 数组数组2.4.1 声明数组l 声明一维数组有下列两种格式:数组的元素类型 数组名字;数组的元素类型 数组名字;l声明二维数组有下列两种格式:数组的元素类型 数组名字;数组的元素类型 数组名字;2.4.2 创建数组l声明数组后必须再通过创建数组
9、来为它分配内存空间,创建数组的格式如下:数组名字=new 数组元素的类型数组元素的个数;例如:float boy;boy=new float4;l声明数组和创建数组可以一起完成,例如:float boy=new float4;l 二维数组和一维数组一样,在声明之后必须用new运算符分配内存空间,例如:int mytwo;mytwo=new int34;l一个二维数组是由若干个一维数组组成的,例如,mytwo就是由3个长度为4的一维数组mytwo0、mytwo1、mytwo2构成的l构成二维数组的一维数组的长度可以不同,例如:int a=new int3;a0=new int6;a1=new i
10、nt12;a2=new int8;lJava允许使用int型变量的值来指定数组的元素个数,例如:int size=30;double number=new doublesize;2.4.3 数组元素的使用l数组通过索引符访问自己的元素,索引从0开始 例如:float boy=new float4;数组boy的元素为boy0,boy1,boy2,boy3;索引为03,如果超过这个范围,程序运行将会发生ArrayIndexOutOfBoundsException异常2.4.4 length的使用l数组元素的个数称作数组的长度,用下面的格式来表示:数组名字.length 例如:float a=new
11、 float12;int b=new int36;数组a的长度a.length的值为12,数组b的长度b.length的值为3 2.4.5 数组的初始化l创建数组后,系统会给每个数组元素一个默认的值,例如,float型是0.0l在声明数组时同时也可以给数组的元素一个初始值,例如:float boy=21.3f,23.89f,2.0f,23f;也可以直接用若干个一维数组初始化一个二维数组,这些一维数组的长度不尽相同,例如:int a=1,1,1,1,2,1,0;2.4.6 数组的引用l数组属于引用型变量,如果两个相同类型的数组具有相同的引用,它们就有完全相同的元素 例如:int a=1,2,3,
12、b=4,5;数组变量a和b分别存放着引用0 x35ce36和0 x757aef,内存模型如下:0 x757aefb45b0b10 x35ce36a123a0a1a2l如果使用了下列赋值语句:a=b;则a中存放的引用和b的相同,这时系统将释放最初分配给数组a的元素,使得a的元素和b的元素相同,a、b的内存模型变成如下:0 x757aefb45b0b10 x757aefa例2.42.4.7 数组的表示格式lJava输出数组元素可以使用如下的方法:Arrays.toString(数组名)例如:int a=1,2,3,4,5,6;使用Arrays.toString(a)得到的字符串是:1,2,3,4,
13、5,62.4.8 复制数组1.arraycopy方法lJava复制数组元素可以使用如下的方法:System.arraycopy(sourceArray,index1,copyArray,index2,length);例2.52.copyOf和copyOfRange方法larraycopy方法要求事先必须创建参数copyArray指定的数组l Java又提供了两个方法可以生成新的数组:Arrays.copyOf(源数组,新数组长度);Arrays.copyOfRange(源数组,from,to);例2.62.4.9 排序与使用二分查找lJava给数组排序可以使用如下的方法:整个数组排序 Arra
14、ys.sort(数组名);部分排序 Arrays.sort(数组名,start,end);例2.7l声明枚举类型的语法格式如下:enum 枚举名 常量列表 例如:enum Season 春季,夏季,秋季,冬季 2.5 枚举类型枚举类型l枚举类型声明后,可以用枚举名来声明一个枚举变量,例如:Season x;l声明了一个枚举变量后,只能用枚举类型声明中的常量来赋值,例如:x=Season.春季;例2.8 例2.9 Weekday.java Example2_9.javal标识符由字母、下划线、美元符号和数字组成,并且第一个字符不能是数字字符lJava语言有8种基本数据类型:boolean,byte,short,int,long,float,double和charl数组是相同类型的数据元素按顺序组成的一种复合数据类型,数组属于引用型变量,因此两个相同类型的数组如果具有相同的引用,它们就有完全相同的元素l枚举类型 小结小结
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。