Java-2实用教程第4版-第2章-基本数据类型与数组_第1页
Java-2实用教程第4版-第2章-基本数据类型与数组_第2页
Java-2实用教程第4版-第2章-基本数据类型与数组_第3页
Java-2实用教程第4版-第2章-基本数据类型与数组_第4页
Java-2实用教程第4版-第2章-基本数据类型与数组_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2020/5/1,第1页,注意:开始用功了!,2020/5/1,第2页,Java2实用教程(第4版)第2章,基本数据类型与数组,2020/5/1,第3页,主要内容标识符与关键字基本数据类型类型转换运算输入、输出数据数组,导读,2020/5/1,第4页,2.1标识符与关键字,2.1.1.标识符,用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为标识符,简单地说,标识符就是一个名字.,标识符由字母、下划线、美元符号和数字组成,长度不受限制。标识符的第一个字符不能是数字字符。标识符不能是关键字(关键字见下面的2.1.3节)标识符不能是true、false和null(尽管true、false和null不是关键字),2.1.2.关键字,关键字就是具有特定用途或被赋予特定意义的一些单词,不可以把关键字作为标识符来用.,2020/5/1,第5页,2.2基本数据类型,有8种基本数据类型,分别是:boolean、byte、short、int、long、float、double、char。这8种基本数据类型习惯上可分为以下四大类型:逻辑类型:boolean整数类型:byte、short、int、long字符类型:char浮点类型:float、double,2020/5/1,第6页,2.2.1逻辑类型,常量:true,false。变量:使用关键字boolean来声明逻辑变量,声明时也可以赋给初值,例如:booleanx,ok=true,关闭=false;,2020/5/1,第7页,例题:boolean型变量的用法举例publicclasstext1publicstaticvoidmain(Stringargs)inta=2,b=2;booleanflag;flag=(a=b);System.out.println(flag);,2020/5/1,第8页,2.2.2整数类型,1int型常量:123,60(十进制),077(八进制),0 x3BC(十六进制)。变量:使用关键字int来声明int型变量,分配4个字节内存。例如:inty,x=12,平均=9898,jiafei;2byte型常量:一定范围内的int型常量。变量:使用关键字byte来声明byte型变量,分配1个字节内存.例如:bytex=-12,tom=28,漂亮=98;3short型常量:一定范围内的int型常量。分配2个字节内存。变量:使用关键字short来声明short型变量。例如:shortx=12,y=1234;4.long型常量:加后缀L,如18L(十进制)、073L(八进制)、0 x3AL(十六进制)。变量:使用关键字long来声明long型变量,分配8个字节内存。例如:longwidth=12L,height=2005L,length;,2020/5/1,第9页,2.2.3字符类型,1.常量:即用单引号扩起的Unicode表中的一个字符。例如:A,b,?,!,9,好,t,等,2.变量:使用关键字char来声明char型变量,分配2个字节内存,例如:charch=A,home=家,handsome=酷;3.转意字符常量:有些字符(如回车符)不能通过键盘输入,就需要使用转意字符常量,例如:n(换行),b(退格),t(水平制表),(单引号),(反斜线)等。4.一个字符在Unicode表中的顺序位置:使用int型显示转换,如(int)a或intp=a。5.显示一个065535之间的数在Unicode表中相应位置上的字符:必须使用char型显示转换。如下例:,2020/5/1,第10页,例子:publicclass文字在Unicode中的位置publicstaticvoidmain(Stringargs)System.out.println(字母A在Unicode集中的第+(int)A+个位置);System.out.println(数字32767对应的Unicode集中的字符为+(char)32767);,运行结果:字母A在Unicode集中的第65个位置数字32767对应的Unicode集中的字符为,2020/5/1,第11页,2.2.4浮点类型,1.float型常量:453.5439f,231.0f,2e40f。后缀“f”或“F”不能省略。变量:使用float来声明,分配4个字节内存。例如:floatx=22.76f,weight=1e-12F;精度:保留8位有效数字,实际精度取决于具体数值。2.double型常量:2389.539d,2318908.987,0.05,1e-90。后面可以有后缀“d”或“D”,可以省略后缀。变量:使用关键字double来声明,分配8个字节内存。例如:doubleheight=23.345,width=34.56D,length=1e12;精度:保留16位有效数字,实际精度取决于具体数值。,2020/5/1,第12页,2.3简单数据类型的级别与类型转换运算,数据的基本类型(不包括逻辑类型)按精度从“低”到“高”排列:byte(1)short(2)char(2)int(4)long(8)float(4)double(8)当把级别低的变量的值赋给级别高的变量时,系统自动完成数据类型的转换。例如:floatx=100;当把级别高的变量的值赋给级别低的变量时,必须使用显示类型转换运算。显示转换的格式:(类型名)要转换的值;例如intx=(int)34.89;当把一个int型常量赋值给一个byte和short型变量时,不可以超出这些变量的取值范围,否则必须进行类型转换运算;例如,常量128的属于int型常量,超出byte变量的取值范围,如果赋值给byte型变量,必须进行byte类型转换运算(将导致精度的损失),如下所示:bytea=(byte)128;,赋值结果:a=-128,2020/5/1,第13页,下面的例子2使用了类型转换运算,运行效果如图2.2。,例子2,2020/5/1,第14页,2.4从命令行输入、输出数据_1,通常使用三个步骤:1.放在类声明之前,引入扫描仪。importjava.util.Scanner;2.声明一个新的扫描仪并赋值Scannerreader=newScanner(System.in);3.使用扫描仪reader对象调用下列方法,读取用户在命令行(例如,MS-DOS窗口)输入的各种基本类型数据:nextBoolean()、nextByte()、nextShort()、nextInt()nextLong()、nextFloat()、nextDouble()。,2.4.1输入基本型数据,2020/5/1,第15页,上述方法执行时都会堵塞,程序等待用户在命令行输入数据回车确认。注意:在java中没有nextChar()方法,只有next()方法,是输入字符串的意思。想要输入字符,可以这样:Scannerin=newScanner(System.in);Stringstr=in.nextLine();charch=str.charAt(0);System.out.println(ch);,2020/5/1,第16页,各种数据输入举例:importjava.util.Scanner;/1publicclassScannpublicstaticvoidmain(Stringargs)inta;Stringch;floatf;doubled;Scannerin=newScanner(System.in);/2a=in.nextInt();/3ch=in.next();/3f=in.nextFloat();/3d=in.nextDouble();/3System.out.println(a=+a);System.out.println(ch=+ch);System.out.println(f=+f);System.out.println(d=+d);,2020/5/1,第17页,例子3中,用户在键盘依次输入若干个数字,每输入一个数字都需要按回车键确认,在键盘输入数0结束整个的输入操作过程,程序将计算出这些数的和,运行效果如图2.3。,例子3,2020/5/1,第18页,2.4从命令行输入、输出数据_2,System.out.println()或System.out.print()可输出串值、表达式的值.前者输出数据后换行,后者不换行。允许使用并置符号:“+”将变量、表达式或一个常数值与一个字符串并置一起输出,如:System.out.println(m+个数的和为+sum);System.out.println(:+123+大于+122);注:使用System.out.println()或System.out.print()输出字符串常量时,不可以出现“回车”,例如,下面的写法无法通过编译:System.out.println(你好,很高兴认识你);以下是正确的写法:“+”:System.out.println(你好,+很高兴认识你);,2.4.2输出基本型数据,另外,JDK1.5新增了和C语言中printf函数类似的输出数据的方法,格式如下:System.out.printf(格式控制部分,表达式1,表达式2,表达式n)格式控制部分由格式控制符号:%d、%c、%f、%s和普通的字符组成,普通字符原样输出。格式符号用来输出表达式的值。%d输出int类型数据值;%c输出char型数据;%f输出浮点型数据,小数部分最多保留6位;%s输出字符串数据。输出数据时也可以控制数据在命令行的位置,例如:%md输出的int型数据占m列;%m.nf输出的浮点型数据占m列,小数点保留n位。例如:System.out.printf(%d,%f,12,23.78);,2020/5/1,第19页,2020/5/1,第20页,2.5数组,2.5.1声明数组,声明一维数组有下列两种格式:数组的元素类型数组名;数组的元素类型数组名;例如:floatboy;charcat;,声明二维数组有下列两种格式:数组的元素类型数组名;数组的元素类型数组名;例如:floata;Charb;,2020/5/1,第21页,为数组分配元素的格式如下:数组名=new数组元素的类型数组元素的个数;例如:boy=newfloat4;,数组属于引用型变量,数组变量中存放着数组的首元素的地址,通过数组变量的名字加索引使用数组的元素(内存示意如图2.4所示).比如:boy0=12;boy1=23.908F;boy2=100;boy3=10.23f;,2.5.2为数组分配元素,2020/5/1,第22页,2.5.3数组元素的使用,一维数组通过索引符访问自己的元素,如boy0,boy1等。需要注意的是索引从0开始.如果索引越界,程序可以编译通过,但运行时将会发生ArrayIndexOutOfBoundsException异常。,2.5.4length的使用,对于一维数组,“数组名.length”的值就是数组中元素的个数;对于二维数组“数组名.length”的值是它含有的一维数组的个数,publicclassArray1publicstaticvoidmain(Stringargs)floats=1,2,3,4,5,6,7,8,9,10;intn=s.length;System.out.println(n);,运行结果:10,2020/5/1,第23页,2.5.5数组的初始化,创建数组后,系统会给数组的每个元素一个默认的值,如,float型是0.0。在声明数组的同时也可以给数组的元素一个初始值,如:floatboy=21.3f,23.89f,2.0f,23f,778.98f;,2020/5/1,第24页,2.5.6数组的引用,数组属于引用型变量,两个相同类型的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论