




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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 逻辑类型:boo
3、leanl 整数类型: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声明,声明时也可以赋给初值
4、例如: byte 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变量:使用关键字l
5、ong声明,声明时也可以赋给初值例如: 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声明,声明时也可以赋给
6、初值例如: float x=22.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()、nextF
8、loat()和nextDouble(),用来读取用户在命令行输入的各种基本的类型的数据 例 输出基本型数据输出基本型数据可以使用如下两种方法:lSystem.out.println(输出内容)输出数据后换行lSystem.out.print(输出内容)输出数据后不换行也可以使用类似C语言中的printf的方法lSystem.out.printf(“格式控制”,表达式表) 2.4 数组数组2.4.1 声明数组l 声明一维数组有下列两种格式: 数组的元素类型 数组名字; 数组的元素类型 数组名字;l声明二维数组有下列两种格式: 数组的元素类型 数组名字; 数组的元素类型 数组名字;
9、2.4.2 创建数组l声明数组后必须再通过创建数组来为它分配内存空间,创建数组的格式如下: 数组名字=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构成二维数组的一维数组的长度可以不同,例如: in
10、t a=new int3; a0=new int6; a1=new int12; 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数组元素的个数称作数
11、组的长度,用下面的格式来表示: 数组名字.length 例如: float a=new 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数组属于引用型变量
12、,如果两个相同类型的数组具有相同的引用,它们就有完全相同的元素 例如: int a=1,2,3,b=4,5; 数组变量a和b分别存放着引用0 x35ce36和0 x757aef,内存模型如下:0 x757aefb45b0b10 x35ce36a123a0a1a2l如果使用了下列赋值语句: a=b; 则a中存放的引用和b的相同,这时系统将释放最初分配给数组a的元素,使得a的元素和b的元素相同,a、b的内存模型变成如下:0 x757aefb45b0b10 x757aefa例 数组的表示格式lJava输出数组元素可以使用如下的方法: Arrays.toString(数组名)例如: i
13、nt a=1,2,3,4,5,6; 使用Arrays.toString(a)得到的字符串是: 1,2,3,4,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); 例 排序与使用二分查找lJava给数组排序可以使用如下的方法:整个数组排序 Arrays.sort(数组名);部分排序 Arrays.sort(数组名,start,end); 例2.7l声明枚举类型的语法格式如下: enum 枚举名 常量列表 例如: enum Season 春季,夏季,秋季,冬季 2.5 枚举类型枚举类型l枚举类型声明后,可以用枚举名来声明一个枚举变量,例如: Season x;l声明了一个枚举变量后,只能用枚举类型声明中的常量来赋值,例如: x=Season.春季; 例2.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 如何制定购销合同协议书
- 商场石材保养合同协议书
- 表白策划工作室创业计划书
- 报告2025年智能型低压电器、智能型低压开关柜项目可行性研究
- 儿童书店开业营销策划方案
- 服务尾款合同结算协议书
- 犬五联用血清用量-早期应大量应用高免血清
- 厂房清工合同协议书范本
- 2025年中国肉桂酸钾项目投资计划书
- 猪常见传染病的预防措施
- CJT 489-2016 塑料化粪池 标准
- 2024中考语文语言运用考点备考试题精练 (含答案)
- 财务审计服务投标方案(技术标)
- 苗木供应质量保证措施方案
- 华南理工综评机测试题(一)
- 2022-2023学年广东省广州市番禺区教科版(广州)四年级下册期末测试英语题卷(无答案)
- 【蔚来新能源汽车营销策略探究9200字(论文)】
- 燃气经营安全重大隐患判定标准课件
- 伟大的《红楼梦》智慧树知到期末考试答案章节答案2024年北京大学
- 中华水文化智慧树知到期末考试答案2024年
- 整套电子课件:液压传动与气动技术(第二版)
评论
0/150
提交评论