java面向对象程序设计(基本类型、数组和枚举类型)

上传人:san****019 文档编号:70006857 上传时间:2019-01-15 格式:PPT 页数:22 大小:313.01KB
返回 下载 相关 举报
java面向对象程序设计(基本类型、数组和枚举类型)_第1页
第1页 / 共22页
java面向对象程序设计(基本类型、数组和枚举类型)_第2页
第2页 / 共22页
java面向对象程序设计(基本类型、数组和枚举类型)_第3页
第3页 / 共22页
java面向对象程序设计(基本类型、数组和枚举类型)_第4页
第4页 / 共22页
java面向对象程序设计(基本类型、数组和枚举类型)_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《java面向对象程序设计(基本类型、数组和枚举类型)》由会员分享,可在线阅读,更多相关《java面向对象程序设计(基本类型、数组和枚举类型)(22页珍藏版)》请在金锄头文库上搜索。

1、Java面向对象程序设计,第2章 基本类型、数组和枚举类型,主要内容 标识符和关键字 基本数据类型 从命令行输入、输出数据 数组 枚举类型 难点 数组,导读,2.1 标识符和关键字,1. 标识符 用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为标识符。简单地说,标识符就是一个名字。 2.关键字 关键字就是Java语言中已经被赋予特定意义的一些单词。不可以把关键字做为标识符来用。,2.2 基本数据类型,基本数据类型也称作简单数据类型。Java语言有8种基本数据类型,分别是: boolean、byte、short、int、long、float、double、char。 这8种

2、基本数据类型习惯上可分为以下四大类型: 逻辑类型:boolean 整数类型:byte、short、int、long 字符类型:char 浮点类型:float、double,2.2.1 逻辑类型,常量:true,false。 变量:使用关键字boolean来声明逻辑变量, 声明时也可以赋给初值, 例如: boolean x,ok=true,关闭=false;,2.2.2 整数类型,1int 型 常量:123,6000(十进制),077(八进制),0x3ABC(十六进制)。 变量:使用关键字int来声明int型变量,声明时也可以赋给初值, 例如: int x= 12,平均=9898,jiafei;

3、 对于int型变量,内存分配给4个字节(byte),占32位。 2byte 型 常量:Java中不存在byte型常量的表示法,但可以把一定范围内的int型常量赋值给byte型变量。 变量:使用关键字byte来声明byte 型变量 例如: byte x= -12,tom=28,漂亮=98; 对于byte型内存分配给1个字节,占8位 。 3 short 型 常量:和byte型类似,Java中也不存在short型常量的表示法,但可以把一定范围内的int型常量赋值给short型变量。 变量:使用关键字short来声明short型变量 例如: short x=12,y=1234; 对于short型变量,

4、内存分配给2个字节,占16位. 4. long 型 常量:long型常量用后缀L来表示,例如108L(十进制)、07123L(八进制)、0x3ABCL(十六进制) 。 变量:使用关键字long来声明long型变量, 例如: long width=12L,height=2005L,length; 对于long型变量,内存分配给8个字节,占64位。,2.2.3 字符类型,1. 常量:常量:A,b,?,!,9,好,t,等, 即用单引号扩起的Unicode表中的一个字符。 2. 变量: 使用关键字char来声明char型变量, 例如:char ch=A,home=家,handsome=酷; 对于cha

5、r型变量,内存分配给2个字节,占16位 3. 转意字符常量:有些字符(如回车符)不能通过键盘输入到字符串或程序中,就需要使用转意字符常量, 例如:n(换行),b(退格),t(水平制表), (单引号),“(双引号),(反斜线)等。 4. 要观察一个字符在Unicode表中的顺序位置,可以使用int型显示转换,如(int)a或int p=a。 5. 如果要得到一个065536之间的数所代表的Unicode表中相应位置上的字符 必须使用char型显示转换。 例2-1,2.2.4 浮点类型,1. float型 常量:453.5439f,21379.987F,231.0f(小数表示法),2e40f(2乘

6、10的40次方,指数表示法)。需要特别注意的是:常量后面必须要有后缀“f”或“F”。 变量:使用关键字float来声明float型变量, 例如:float x=22.76f,tom=1234.987f,weight=1e-12F; 精度:float变量在存储float型数据时保留8位有效数字,实际精度取决于具体数值。 对于float型变量,内存分配给4个字节,占32位。 2. double 型 常量:2389.539d,2318908.987,0.05(小数表示法),1e-90(1乘10的-90次方,指数表示法)。对于double常量,后面可以有后缀“d”或“D”,但允许省略该后缀。 变量:使

7、用关键字double来声明double型变量, 例如:double height=23.345,width=34.56D,length=1e12; 对于double型变量,内存分配给8个字节,占64位 。 精度:double变量在存储double型数据时保留16位有效数字,实际精度取决于具体数值。,2.2.5 基本数据类型的转换,Java中数据的基本类型(不包括逻辑类型)按精度从“低”到“高”排列: byte short char int long float double 当把级别低的变量的值赋给级别高的变量时,系统自动完成数据类型的转换。例如: float x=100; 当把级别高的变量的

8、值赋给级别低的变量时,必须使用显示类型转换运算。显示转换的格式:(类型名)要转换的值; 例如 int x=(int)34.89; 当把一个int型常量赋值给一个byte和short型变量时,不可以超出这些变量的取值范围,否则必须进行类型转换运算;例如,常量128的属于int型常量,超出byte变量的取值范围,如果赋值给byte型变量,必须进行byte类型转换运算(将导致精度的损失),如下所示: byte a=(byte)128; 例2-2,2.3从命令行输入、输出数据 2.3.1 输入基本型数据,可以使用Scanner类创建一个对象: Scanner reader=new Scanner(Sy

9、stem.in); reader对象调用下列方法,读取用户在命令行(例如,MS-DOS窗口)输入的各种基本类型数据: nextBoolean()、 nextByte()、 nextShort()、 nextInt() nextLong()、nextFloat()、nextDouble()。 上述方法执行时都会堵塞,程序等待用户在命令行输入数据回车确认。 例2-3,2.3.2 输出基本型数据, 用System.out.println()或System.out.print()可输出串值、表达式的值,二者的区别是前者输出数据后换行,后者不换行。 允许使用并置符号:“+”将变量、表达式或一个常数值与一

10、个字符串并置一起输出,如: 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:输出字符串数据。 输出数据时也可以

11、控制数据在命令行的位置,例如: %md:输出的int型数据占m列 %m.nf:输出的浮点型数据占m列,小数点保留n位。,2.4 数组,数组是相同类型的变量按顺序组成的一种复合数据类型,称这些相同类型的变量为数组的元素或单元。数组通过数组名加索引来使用数组的元素。索引从0开始。,2.4.1 声明数组, 声明一维数组有下列两种格式: 数组的元素类型 数组名字 ; 或 数组的元素类型 数组名字; 例如:float boy; 或 float boy; 声明2维数组有下列两种格式: 数组的元素类型 数组名字; 或 数组的元素类型 数组名字; 例如:char cat; 或 char cat; 数组boy的

12、元素可以存放float型数据、数组cat的元素可以存放char型数据。 数组的元素的类型可以是Java的任何一种类型。 假如已经声明了一种People类型数据,那么可以如下声明一个数组: People china; 数组china的元素可以存放People类型的数据。,2.4.2 创建数组,为数组分配内存空间的格式如下: 数组名字 = new 数组元素的类型数组元素的个数; 例如: boy= new float4; 为数组分配内存空间后,数组boy获得4个用来存放float类型数据的内存空间,即4个float型元素。 数组变量boy中存放着这些内存单元的首地址,该地址称作数组的引用,这样数组就

13、可以通过索引操作这些内存单元 。,声明数组和创建数组可以一起完成,例如:float boy=new float4; 二维数组和一维数组一样,在声明之后必须用new运算符分配内存空间,例如:int mytwo; mytwo=new int 34; 或 int mytwo=new int34;,2.4.3 数组元素的使用,一维数组通过索引符访问自己的元素,如 boy0,boy1等。 注意:索引从0开始,数组若有7个元素,那么索引到6为止,如果程序使用了如下语句:boy7=384.98f; 程序运行时将发生.ArrayIndexOutOfBoundsException异常,因此在使用数组时必须谨慎,

14、防止索引越界。 二维数组也通过索引符访问自己的元素,如a01,a12等;需要注意的是索引从0开始,比如声明创建了一个二维数组a: int a = new int23; 那么第一个索引的变化范围从0到1,第二个索引变化范围从0到2。,2.4.4 length的使用,一数组的元素的个数称作数组的长度。对于一维数组,“数组名字.length”的值就是数组中元素的个数。 对于二维数组“数组名字.length”的值是它含有的一维数组的个数。 对于 float a = new float12; a.length的值12 对于 int b = new int36; b.length的值是3,2.4.5 数组

15、的初始化, 创建数组后,系统会给每个数组元素一个默认的值,如,float型是0.0。 在声明数组时同时也可以给数组的元素一个初始值,如: float boy = 21.3f,23.89f,2.0f,23f,778.98f; 也可以直接用若干个一维数组初始化一个二维数组。,2.4.6 数组的引用,数组属于引用型变量,因此两个相同类型的数组如果具有相同的引用,它们就有完全相同的元素。例如,对于 int a = 1,2,3,b = 4,5; 如果使用了下列赋值语句(a和b的类型必须相同): a=b; 那么a中存放的引用和b的相同。 例2-4,2.4.7 表示格式,Arrays类调用 public static String toString(int a) 方法,可以得到参数指定的一维数组a的如下格式的字符串表示: a0,a1 aa.length-1,2.4.8 复制数组,1arraycopy方法 System类调用方法 public static void arraycopy(sourceArray,int index1,copyArray,int index2,int length) 可以将数组sourceArray从索引index1开始后的length个元素中的数据复制到数组

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号