单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第,*,页,基本数据类型与数组,Java程序设计教学做一体化教程,第,2,章,基本数据类型与数组 Java程序设计教学做一体化教程 第,回顾,Java 区分大小写,一个Java 程序可以由若干类构成,其中可以不包括public的类,此时对文件命名无要求,如果包括public的类,应该用public的类名作为文件名,再加后缀.java 存储成文件,main方法是整个程序的入口点。,第,2,页,回顾Java 区分大小写第 2 页,整型类型,字符类型,浮点类型,逻辑类型,输出、输出数据,数组,主要内容,第,3,页,整型类型主要内容第 3 页,java数据类型的分类,数据类型的分类,基本数据类型:,8,种,引用数据类型:,3,种,:,数组,(,array,),、类,(,class,),和接口,(,interface,),第,4,页,java数据类型的分类数据类型的分类第 4 页,基本数据类型,Java 共有八,种,基本数据类型:,四种整数类型(,byte、short、int、long),两种浮点数类型(,float、double),一种字符类型(,char),一种逻辑类型(,boolean),第,5,页,基本数据类型Java 共有八种基本数据类型:第 5 页,2.1,整数类型,2.1.1,核心知识,1,int,型,常量:,123,,,6000,(,十进制),,077,(八进制),,0,x3ABC,(,十六进制)。,变量:,使用关键字,int,来声明,int,型变量,声明时也可以赋给初值,,例如:,int x=12,y=9898,z;,int,型变量在内存占用,4,个字节,取值范围是:,-2,31,2,31,-1,。,2,byte,型,常量:,Java,中不存在,byte,型常量的表示法,但可以把一定范围内的,int,型常量,赋值给,byte,型变量。,变量:,使用关键字,byte,来声明,byte,型变量,例如:,byte x=-12,tom=28,handsome,=98;,byte,型变量在内存占用,1,个字节。取值范围是:,-2,7,2,7,-1,。,3,short,型,常量:,和,byte,型类似,,Java,中也不存在,short,型常量的表示法,但可以把一定,范围内的,int,型常量赋值给,short,型变量。,变量:,使用关键字,short,来声明,short,型变量,例如:,short x=12,y=1234;,short,型变量在内存占用,2,个字节。取值范围是:,-2,15,2,15,-1,。,4.long,型,常量:,long,型常量用后缀,L,来表示,例如108,L(,十进制)、07123,L(,八进制)、,0,x3ABCL(,十六进制,),。,变量:,使用关键字,long,来声明,long,型变量,,例如:,long width=12L,height=2005L,length;,long,型变量在内存占用,8,个字节。取值范围是:,-2,63,2,63,-1,。,第,6,页,2.1 整数类型 2.1.1核心知识 1,2.1.2,能力目标,声明整型变量,并赋予初值,了解,byte,short,int,和,long,型变量的取值范围。,第,7,页,2.1.2 能力目标 声明整型变量,并赋予初值,了解,2.1.3,任务驱动,Application2_1.java,代码。,程序运行效果如图,2.1,。,第,8,页,2.1.3 任务驱动 Application2_1.,任务小结,Byte.MAX_VALUE,和,Byte.MIN_VALUE,分别表示,byte,型变量的最大值,127,和最小值,-128,。,Java,没有无符号的,byte,short,int,和,long,,因此,,unsigned int m;,是错误的变量声明。,第,9,页,任务小结 Byte.MAX_VALUE和Byte.M,2.2,字符类型,2.2.1,核心知识,_1,Unicode,字符集,Unicode,字符集最多可以识别,65536,个字符。,Unicode,字符集的前,128,个字符刚好是,ASCII,码表中的字符。,Java,语言中用到的字母不仅包括通常的拉丁字母,a,、,b,、,c,等,也包括汉语中的汉字、日文的片假名和平假名、朝鲜文、俄文、希腊字母以及其它许多语言中的文字。,2.标识符,用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为标识符。简单地说,标识符就是一个名字。,以下是,Java,关于标识符的语法规则。,标识符由字母、下划线、美元符号和数字组成,长度不受限制,。,标识符的第一个字符不能是数字字符。,标识符不能是关键字。,标识符不能是,true,、,false,和,null,(尽管,true,、,false,和,null,不是,Java,关键字)。,第,10,页,2.2字符类型 2.2.1 核心知识 _,2.2.1,核心知识,_2,3.,关键字,关键字就是,Java,语言中已经被赋予特定意义的一些单词。不可以把关键字做为标识符来用。,4,char,型数据,常量:,A,,,b,,,?,,,!,,,9,,,好,,,t,,,等,即用单引号(需在英文输入法状态下输入单引号)扩起的,Unicode,表中的一个字符。,变量:,使用关键字,char,来声明,char,型变量,例如:,char ch=A,home=,家,handsome=,酷,;,char,型变量在内存占用,2,个字节,取值范围是,065535,。,第,11,页,2.2.1 核心知识 _23.关键字 第 11 页,2.2.2,能力目标,使用,char,声明变量,使用转义字符,观察字符在,Unicode,表中的索引位置。,第,12,页,2.2.2 能力目标 使用char声明变量,使用转义,2.2.3,任务驱动,任务的主要内容,在主类的,main,方法中使用,char,声明变量。,使用赋值语句重新给变量赋值。,按字符和索引位置输出变量的值。,输出某些特殊的转义字符,比如双引号转义字符。,将下列,Application2_2,.java,中的,【,代码,】,替换为程序代码。,程序运行效果如图,2.2,。,第,13,页,2.2.3 任务驱动任务的主要内容第 13 页,任务,小结,Java,中的,char,型数据一定是无符号的,而且不允许使用,unsigned,来修饰所声明的,char,型变量。,有些字符 比如回车符不能通过键盘输入到字符串中,这时就需要使用转义字符常量,比如,n,换行、,单引号、,t,制表符、,”,双引号等。,第,14,页,任务 小结 Java中的char型数据一定是无符,2.3,浮点类型,2.3.1,核心知识,浮点型分为,float,(单精度)和,double,型(双精度)。,1.float,型,常量:,453.5439,f,21379.987F,231.0f(,小数表示法),2,e40f(2,乘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.539,d,2318908.987,0.05(,小数表示法),1,e-90(1,乘10的-90次方,指数表示法)。对于,double,常量,后面可以有后缀“,d”,或“,D”,,但允许省略该后缀。,变量:,使用关键字,double,来声明,double,型变量,,例如:,double height=23.345,width=34.56D,length=1e12;,对于,double,型变量,内存分配给8个字节,占64位。,精度:,double,变量在存储,double,型数据时保留,16,位有效数字。,第,15,页,2.3 浮点类型 2.3.1 核心知识,2.3.2,能力目标,能区分,float,常量和,double,常量,掌握,float,和,double,型变量的精度,第,16,页,2.3.2 能力目标 能区分float常量和doub,2.3.3,任务驱动,任务的主要内容,分别用,float,和,double,变量模拟计量工具计算出一枚戒指的价值,即用,float,和,double,变量的值代表所计量出的物体质量。,将下列,Application2_3.java,中的,【,代码,】,替换为程序代码。,程序运行效果如图,2.3,。,第,17,页,2.3.3 任务驱动任务的主要内容第 17 页,任务,小结,比较float型数据与double型数据时必须注意数据的实际精度,。,%f,按小数表示法输出,float,和,double,型数据,默认输出,6,位小数。,第,18,页,任务 小结 比较float型数据与double型数,2.4,逻辑类型,2.4.1,核心知识,可以使用逻辑类型变量存储“真”、“假”数据,常量:,true,,,false,。,变量:,使用关键字,boolean,来声明逻辑变量,声明时也可以赋给初值,例如:,boolean male=true,on=true,off=false,isTriangle;,第,19,页,2.4 逻辑类型 2.4.1 核心知识,2.4.2,能力目标,使用,boolean,声明变量,并用,boolean,变量存储,true,或,false,。,第,20,页,2.4.2 能力目标 使用boolean声明变量,并,2.4.3,任务驱动,任务的主要内容,判断,3,个整数代表的长度能否构成三角形的三边,。,将下列,Application2_4.java,中的,【,代码,】,替换为程序代码。,程序运行效果如图,2.4,。,第,21,页,2.4.3 任务驱动任务的主要内容第 21 页,任务,小结,不可以把整型数据赋值给,boolean,变量。,可以使用,%b,输出,boolean,型数据,。,第,22,页,任务 小结不可以把整型数据赋值给boolean变量。,2.5,类型转换运算,2.5.1,核心知识,当把一种基本数据类型变量的值赋给另一种基本类型变量时就涉及到数据转换。,下列基本类型会涉及数据转换(,不包括逻辑类型,)。将这些类型按精度从低到高排列,byte short char int long float double,(1),低到高的自动转换,当把级别低的变量的值赋给级别高的变量时,系统自动完成数据类型的转换。,int x=45;float y;y=x;,(2),高到低的转换运算,当把级别高的变量的值赋给级别低的变量时,必须使用类型转换运算,格式如下:,(,类型名,),要转换的值,;,例如:,int x=(int)34.89;,如果输出,x,的值 将是,34,第,23,页,2.5 类型转换运算 2.5.1 核心知,2.5.2,能力目标,掌握基本类型数据的精度,能使用转换运算符将级别高的数据转换为级别低的数据。,第,24,页,2.5.2 能力目标 掌握基本类型数据的精度,能使用,2.5.3,任务驱动,用火车在托运行李时以公斤为单位计算费用(,12.6,元,/kg,),忽略重量中的小数部分,即忽略不足一公斤之部分。,用汽车在托运行李时以公斤为单位计算费用(,22.5,元,/kg,),将重量中的小数部分进行四舍五入,即将不足一公斤之部分进行四舍五入。,将下列,Application2_5.java,中的,【,代码,】,替换为程序代码。,程序运行效果如图,2.5,。,第,25,页,2.5.3 任务驱动用火车在托运行李时以公斤为单位计,任务,小结,为了四舍五入,可以将浮点数据加上,0.5,,再进行,i