版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章基本类型、数组和枚举类型2.1标识符和关键字2.2基本数据类型2.3从命令行输入输出数据2.4数组2.5枚举类型2.6小结第2章基本类型、数组和枚举类型2.1标识符和关键字12.1标识符和关键字2.1.1标识符
标识符由字母、下划线、美元符号和数字组成,长度不受限制标识符的第一个字符不能是数字
标识符不能是关键字标识符不能是true、false和null标识符中的字母区分大小写Java语言使用Unicode标准字符集2.1标识符和关键字2.1.1标识符标识符由字母、下划22.1.2关键字
abstract、assert、boolean、break、byte、case、catch、char、class、const、continue、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.1.2关键字abstract、assert、bool32.2基本数据类型逻辑类型:boolean整数类型:byte、short、int、long字符类型:char浮点类型:float、double2.2基本数据类型逻辑类型:boolean42.2.1逻辑类型常量:true、false变量:使用关键字boolean声明,声明时也可以赋给初值例如:booleanx,ok=true,关闭=false;2.2.1逻辑类型常量:true、false52.2.2整数类型1.int型常量:十进制、八进制(0开头)、十六进制(0x开头)变量:使用关键字int声明,声明时也可以赋给初值例如:intx=12,平均=9898,jiafei;存储:占4个字节内存单元2.2.2整数类型常量:十进制、八进制(0开头)、十六进62.byte型变量:使用关键字byte声明,声明时也可以赋给初值例如:bytex=-12,tom=28,漂亮=98;存储:占1个字节内存单元常量:没有byte型常量单独的表示法,如果需要强调一个整数是byte型数据,可以使用强制类型转换运算,例如:(byte)282.byte型变量:使用关键字byte声明,声明时也可以赋给73.short型变量:使用关键字short声明,声明时也可以赋给初值例如:shortx=12,y=12334;存储:占2个字节内存单元常量:没有short型常量单独的表示法,如果需要强调一个整数是short型数据,可以使用强制类型转换运算,例如:(short)-123.short型变量:使用关键字short声明,声明时也可以84.long型常量:long型常量用后缀L表示,例如:12L,0127L,0x3AF8L变量:使用关键字long声明,声明时也可以赋给初值例如:longwidth=12L,height=200L;存储:占8个字节内存单元4.long型常量:long型常量用后缀L表示,例如:12L92.2.3字符类型常量:用单引号括起来的Unicode字符集中的一个字符,如’A’、’h’、’?’、’中’、’\n’变量:使用关键字char声明,声明时也可以赋给初值,可以用字符在Unicode字符集中的排序位置来给char型变量赋值例如:charch=‘A’,home=‘家’,好=22909;
例2.1存储:占2个字节内存单元2.2.3字符类型常量:用单引号括起来的Unicode字符102.2.4浮点类型1.float型常量:float型常量用f或F作为后缀,可以用小数表示法,也可以用指数表示法变量:使用关键字float声明,声明时也可以赋给初值例如:floatx=22.76f,weight=1e-12F;存储:占4个字节内存单元有效数字:保留8位有效数字2.2.4浮点类型常量:float型常量用f或F作为后缀,112.double型常量:double型常量用d或D作为后缀(可以省略),可以用小数表示法,也可以用指数表示法变量:使用关键字double声明,声明时也可以赋给初值例如:doubleheight=23.25,length=1e12;存储:占8个字节内存单元有效数字:保留16位有效数字2.double型常量:double型常量用d或D作为后缀(122.2.5基本数据类型的转换除了逻辑类型之外的基本数据类型按精度从低到高排列如下:byte、short、char、int、long、float、double当把级别低的变量的值赋给级别高的变量时,系统自动完成数据类型的转换例如:floatx=100;当把级别高的变量的值赋给级别低的变量时,必须使用显式类型转换运算,显式类型转换的格式为:
(类型名)要转换的值此时应注意强制类型转换可能导致数据精度的损失
例基本数据类型的转换除了逻辑类型之外的基本数据类型132.3从命令行输入输出数据2.3.1输入基本型数据
先使用Scanner类创建一个对象:
Scannerreader=newScanner(System.in);
然后调用reader对象的相应方法nextBoolean()、nextByte()、nextShort()、nextInt()、nextLong()、nextFloat()和nextDouble(),用来读取用户在命令行输入的各种基本的类型的数据
例2.32.3从命令行输入输出数据2.3.1输入基本型数据先使142.3.2输出基本型数据输出基本型数据可以使用如下两种方法:System.out.println(输出内容)输出数据后换行System.out.print(输出内容)输出数据后不换行也可以使用类似C语言中的printf的方法System.out.printf(“格式控制”,表达式表)
2.3.2输出基本型数据输出基本型数据可以使用如下两种方法152.4数组2.4.1声明数组声明一维数组有下列两种格式:
数组的元素类型数组名字[];
数组的元素类型[]数组名字;声明二维数组有下列两种格式:
数组的元素类型数组名字[][];
数组的元素类型[][]数组名字;2.4数组2.4.1声明数组声明一维数组有下列两种格162.4.2创建数组声明数组后必须再通过创建数组来为它分配内存空间,创建数组的格式如下:
数组名字=new数组元素的类型[数组元素的个数];例如:floatboy[];boy=newfloat[4];声明数组和创建数组可以一起完成,例如:floatboy[]=newfloat[4];2.4.2创建数组声明数组后必须再通过创建数组来为它分配内17二维数组和一维数组一样,在声明之后必须用new运算符分配内存空间,例如:intmytwo[][];mytwo=newint[3][4];一个二维数组是由若干个一维数组组成的,例如,mytwo就是由3个长度为4的一维数组mytwo[0]、mytwo[1]、mytwo[2]构成的二维数组和一维数组一样,在声明之后必须用new运算符分配内18构成二维数组的一维数组的长度可以不同,例如:inta[][]=newint[3][];a[0]=newint[6];a[1]=newint[12];a[2]=newint[8];Java允许使用int型变量的值来指定数组的元素个数,例如:intsize=30;doublenumber[]=newdouble[size];构成二维数组的一维数组的长度可以不同,例如:192.4.3数组元素的使用数组通过索引符访问自己的元素,索引从0开始例如:floatboy[]=newfloat[4];数组boy的元素为boy[0],boy[1],boy[2],boy[3];索引为0~3,如果超过这个范围,程序运行将会发生ArrayIndexOutOfBoundsException异常2.4.3数组元素的使用数组通过索引符访问自己的元素,索引202.4.4length的使用数组元素的个数称作数组的长度,用下面的格式来表示:
数组名字.length例如:floata[]=newfloat[12];intb[][]=newint[3][6];数组a的长度a.length的值为12,数组b的长度b.length的值为32.4.4length的使用数组元素的个数称作数组的长度,212.4.5数组的初始化创建数组后,系统会给每个数组元素一个默认的值,例如,float型是0.0在声明数组时同时也可以给数组的元素一个初始值,例如:floatboy[]={21.3f,23.89f,2.0f,23f};也可以直接用若干个一维数组初始化一个二维数组,这些一维数组的长度不尽相同,例如:inta[][]={{1},{1,1},{1,2,1},{0}};2.4.5数组的初始化创建数组后,系统会给每个数组元素一个222.4.6数组的引用数组属于引用型变量,如果两个相同类型的数组具有相同的引用,它们就有完全相同的元素例如:inta[]={1,2,3},b[]={4,5};数组变量a和b分别存放着引用0x35ce36和0x757aef,内存模型如下:0x757aefb45b[0]b[1]0x35ce36a123a[0]a[1]a[2]2.4.6数组的引用数组属于引用型变量,如果两个相同类型的23如果使用了下列赋值语句:a=b;则a中存放的引用和b的相同,这时系统将释放最初分配给数组a的元素,使得a的元素和b的元素相同,a、b的内存模型变成如下:0x757aefb45b[0]b[1]0x757aefa例2.4如果使用了下列赋值语句:0x757aefb45b[0]b[1242.4.7数组的表示格式Java输出数组元素可以使用如下的方法:
Arrays.toString(数组名)例如:int[]a={1,2,3,4,5,6};使用Arrays.toString(a)得到的字符串是:[1,2,3,4,5,6]2.4.7数组的表示格式Java输出数组元素可以使用如下的252.4.8复制数组1.arraycopy方法Java复制数组元素可以使用如下的方法:
System.arraycopy(sourceArray,index1,copyArray,index2,length);
例复制数组Java复制数组元素可以使用如下的方法:262.copyOf和copyOfRange方法arraycopy方法要求事先必须创建参数copyArray指定的数组Java又提供了两个方法可以生成新的数组:Arrays.copyOf(源数组,新数组长度);Arrays.copyOfRange(源数组,from,to);
例2.62.copyOf和copyOfRange方法arraycop272.4.9排序与使用二分查找Java给数组排序可以使用如下的方法:整个数组排序
Arrays.sort(数组名);部分排序
Arrays.sort(数组名,start,end);
例排序与使用二分查找Java给数组排序可以使用如下28声明枚举类型的语法格式如下:
enum枚举名{常量列表}例如:enumSeason{春季,夏季,秋季,冬季}2.5枚举类型声明枚举类型的语法格式如下:2.5枚举类型29枚举类型声明后,可以用枚举名来声明一个枚举变量,例如:Seasonx;声明了一个枚举变量后,只能用枚举类型声明中的常量来赋值,例如:x=Season.春季;
例2.8例2.9
Weekday.java
Example2_9.java枚举类型声明后,可以用枚举名来声明一个枚举变量,例如:30标识符由字母、下划线、美元符号和数字组成,并且第一个字符不能是数字字符Java语言有8种基本数据类型:boolean,byte,short,int,long,float,double和char数组是相同类型的数据元素按顺序组成的一种复合数据类型,数组属于引用型变量,因此两个相同类型的数组如果具有相同的引用,它们就有完全相同的元素枚举类型
小结标识符由字母、下划线、美元符号和数字组成,并且第一个字符不能31第2章基本类型、数组和枚举类型2.1标识符和关键字2.2基本数据类型2.3从命令行输入输出数据2.4数组2.5枚举类型2.6小结第2章基本类型、数组和枚举类型2.1标识符和关键字322.1标识符和关键字2.1.1标识符
标识符由字母、下划线、美元符号和数字组成,长度不受限制标识符的第一个字符不能是数字
标识符不能是关键字标识符不能是true、false和null标识符中的字母区分大小写Java语言使用Unicode标准字符集2.1标识符和关键字2.1.1标识符标识符由字母、下划332.1.2关键字
abstract、assert、boolean、break、byte、case、catch、char、class、const、continue、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.1.2关键字abstract、assert、bool342.2基本数据类型逻辑类型:boolean整数类型:byte、short、int、long字符类型:char浮点类型:float、double2.2基本数据类型逻辑类型:boolean352.2.1逻辑类型常量:true、false变量:使用关键字boolean声明,声明时也可以赋给初值例如:booleanx,ok=true,关闭=false;2.2.1逻辑类型常量:true、false362.2.2整数类型1.int型常量:十进制、八进制(0开头)、十六进制(0x开头)变量:使用关键字int声明,声明时也可以赋给初值例如:intx=12,平均=9898,jiafei;存储:占4个字节内存单元2.2.2整数类型常量:十进制、八进制(0开头)、十六进372.byte型变量:使用关键字byte声明,声明时也可以赋给初值例如:bytex=-12,tom=28,漂亮=98;存储:占1个字节内存单元常量:没有byte型常量单独的表示法,如果需要强调一个整数是byte型数据,可以使用强制类型转换运算,例如:(byte)282.byte型变量:使用关键字byte声明,声明时也可以赋给383.short型变量:使用关键字short声明,声明时也可以赋给初值例如:shortx=12,y=12334;存储:占2个字节内存单元常量:没有short型常量单独的表示法,如果需要强调一个整数是short型数据,可以使用强制类型转换运算,例如:(short)-123.short型变量:使用关键字short声明,声明时也可以394.long型常量:long型常量用后缀L表示,例如:12L,0127L,0x3AF8L变量:使用关键字long声明,声明时也可以赋给初值例如:longwidth=12L,height=200L;存储:占8个字节内存单元4.long型常量:long型常量用后缀L表示,例如:12L402.2.3字符类型常量:用单引号括起来的Unicode字符集中的一个字符,如’A’、’h’、’?’、’中’、’\n’变量:使用关键字char声明,声明时也可以赋给初值,可以用字符在Unicode字符集中的排序位置来给char型变量赋值例如:charch=‘A’,home=‘家’,好=22909;
例2.1存储:占2个字节内存单元2.2.3字符类型常量:用单引号括起来的Unicode字符412.2.4浮点类型1.float型常量:float型常量用f或F作为后缀,可以用小数表示法,也可以用指数表示法变量:使用关键字float声明,声明时也可以赋给初值例如:floatx=22.76f,weight=1e-12F;存储:占4个字节内存单元有效数字:保留8位有效数字2.2.4浮点类型常量:float型常量用f或F作为后缀,422.double型常量:double型常量用d或D作为后缀(可以省略),可以用小数表示法,也可以用指数表示法变量:使用关键字double声明,声明时也可以赋给初值例如:doubleheight=23.25,length=1e12;存储:占8个字节内存单元有效数字:保留16位有效数字2.double型常量:double型常量用d或D作为后缀(432.2.5基本数据类型的转换除了逻辑类型之外的基本数据类型按精度从低到高排列如下:byte、short、char、int、long、float、double当把级别低的变量的值赋给级别高的变量时,系统自动完成数据类型的转换例如:floatx=100;当把级别高的变量的值赋给级别低的变量时,必须使用显式类型转换运算,显式类型转换的格式为:
(类型名)要转换的值此时应注意强制类型转换可能导致数据精度的损失
例基本数据类型的转换除了逻辑类型之外的基本数据类型442.3从命令行输入输出数据2.3.1输入基本型数据
先使用Scanner类创建一个对象:
Scannerreader=newScanner(System.in);
然后调用reader对象的相应方法nextBoolean()、nextByte()、nextShort()、nextInt()、nextLong()、nextFloat()和nextDouble(),用来读取用户在命令行输入的各种基本的类型的数据
例2.32.3从命令行输入输出数据2.3.1输入基本型数据先使452.3.2输出基本型数据输出基本型数据可以使用如下两种方法:System.out.println(输出内容)输出数据后换行System.out.print(输出内容)输出数据后不换行也可以使用类似C语言中的printf的方法System.out.printf(“格式控制”,表达式表)
2.3.2输出基本型数据输出基本型数据可以使用如下两种方法462.4数组2.4.1声明数组声明一维数组有下列两种格式:
数组的元素类型数组名字[];
数组的元素类型[]数组名字;声明二维数组有下列两种格式:
数组的元素类型数组名字[][];
数组的元素类型[][]数组名字;2.4数组2.4.1声明数组声明一维数组有下列两种格472.4.2创建数组声明数组后必须再通过创建数组来为它分配内存空间,创建数组的格式如下:
数组名字=new数组元素的类型[数组元素的个数];例如:floatboy[];boy=newfloat[4];声明数组和创建数组可以一起完成,例如:floatboy[]=newfloat[4];2.4.2创建数组声明数组后必须再通过创建数组来为它分配内48二维数组和一维数组一样,在声明之后必须用new运算符分配内存空间,例如:intmytwo[][];mytwo=newint[3][4];一个二维数组是由若干个一维数组组成的,例如,mytwo就是由3个长度为4的一维数组mytwo[0]、mytwo[1]、mytwo[2]构成的二维数组和一维数组一样,在声明之后必须用new运算符分配内49构成二维数组的一维数组的长度可以不同,例如:inta[][]=newint[3][];a[0]=newint[6];a[1]=newint[12];a[2]=newint[8];Java允许使用int型变量的值来指定数组的元素个数,例如:intsize=30;doublenumber[]=newdouble[size];构成二维数组的一维数组的长度可以不同,例如:502.4.3数组元素的使用数组通过索引符访问自己的元素,索引从0开始例如:floatboy[]=newfloat[4];数组boy的元素为boy[0],boy[1],boy[2],boy[3];索引为0~3,如果超过这个范围,程序运行将会发生ArrayIndexOutOfBoundsException异常2.4.3数组元素的使用数组通过索引符访问自己的元素,索引512.4.4length的使用数组元素的个数称作数组的长度,用下面的格式来表示:
数组名字.length例如:floata[]=newfloat[12];intb[][]=newint[3][6];数组a的长度a.length的值为12,数组b的长度b.length的值为32.4.4length的使用数组元素的个数称作数组的长度,522.4.5数组的初始化创建数组后,系统会给每个数组元素一个默认的值,例如,float型是0.0在声明数组时同时也可以给数组的元素一个初始值,例如:floatboy[]={21.3f,23.89f,2.0f,23f};也可以直接用若干个一维数组初始化一个二维数组,这些一维数组的长度不尽相同,例如:inta[][]={{1},{1,1},{1,2,1},{0}};2.4.5数组的初始化创建数组后,系统会给每个数组元素一个532.4.6数组的引用数组属于引用型变量,如果两个相同类型的数组具有相同的引用,它们就有完全相同的元素例如:inta[]={1,2,3},b[]={4,5};数组变量a和b分别存放着引用0x35ce36和0x757aef,内存模型如下:0x757aefb45b[0]b[1]0x35ce36a123a[0]a[1]a[2]2.4.6数组的引用数组属于引用型变量,如果两个相同类型的54如果使用了下列赋值语句:a=b;则a中存放的引用和b的相同,这时系统将释放最初分配给数组a的元素,使得a的元素和b的元素相同,a、b的内存模型变成如下:0x757aefb45b[0]b[1]0x757aefa例2.4如果使用了下列赋值语句:0x757aefb45b[0]b[1552.4.7数组的表示格式Java输出数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小班数学活动抓豆子
- 管理体系认证培训
- 2024版设备购买租赁合同:某服装厂购买生产线设备的租赁合同
- 桥梁建设工程施工合同
- 二零二四年度工程车辆租用与培训服务合同2篇
- 2024年度光纤宽带网络改造合同3篇
- 二零二四年度工程机械租赁合同(含安装和调试)2篇
- 2024年度二手房买卖中的家具家电赠送合同3篇
- 麦当劳课件一二年级
- 社管部的未来规划和方向
- 六年级上册英语素材-期末复习基础梳理资料 川教版
- 议论文摆现象、揭实质、析危害、挖根源、指办法层进式写作指导课件
- 2023年028:机械阻抗的测量
- 国开C语言程序设计形考任务2
- 2022年国家开放大学《经济学基础》形考任务1-4
- 危险性较大(超过一定规模)的分部分项工程清单
- 浙江2018定额说明书土建
- 思想道德与法治课件:第六章 第一节 社会主义法律的特征和运行
- 有限空间作业及应急物资清单
- 朝花夕拾狗猫鼠赏析
- 吊笼有垂直导向的人货两用施工升降机
评论
0/150
提交评论