首页 第2章 基本数据类型和数组

第2章 基本数据类型和数组

举报
开通vip

第2章 基本数据类型和数组第2章基本数据类型和数组本章导读 1.标识符和关键字 2.基本数据类型 3.基本数据类型的转换 4.数据的输入与输出 5.数组*2.1标识符和关键字1.标识符用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为标识符。简单地说,标识符就是一个名字。Java语言规定标识符由字母、下划线、美元符号和数字组成,并且第一个字符不能是数字。标识符中的字母是区分大小写的,Beijing和beijing是不同的标识符。2.关键字关键字就是Java语言中已经被赋予特定意义的一些单词,它们在程序上有着不同的用途....

第2章   基本数据类型和数组
第2章基本数据类型和数组本章导读 1.标识符和关键字 2.基本数据类型 3.基本数据类型的转换 4.数据的输入与输出 5.数组*2.1标识符和关键字1.标识符用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为标识符。简单地说,标识符就是一个名字。Java语言规定标识符由字母、下划线、美元符号和数字组成,并且第一个字符不能是数字。标识符中的字母是区分大小写的,Beijing和beijing是不同的标识符。2.关键字关键字就是Java语言中已经被赋予特定意义的一些单词,它们在程序上有着不同的用途.不可以把关键词作为名字来用。返回*2.2基本数据类型基本数据类型也称作简单数据类型。Java语言有8种简单数据类型,分别是:boolean、 char、 byte、short、int、long、float、double 这8种数据类型习惯上可分为4大类型:逻辑类型:boolean字符类型:char整数类型:byte、short、int、long浮点类型:float、double*2.2基本数据类型1.逻辑类型常量 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 示:true,false。变量定义:使用关键字boolean来定义逻辑变量,定义时也可以赋给初值。2.整数类型常量:123,6000(十进制), 077(八进制), 0x3ABC(十六进制)。变量定义分为4种:int、byte、short、long*2.2基本数据类型(1)int型使用关键字int来定义int型整型变量,定义时也可以赋给初值,例如:intx,平均=9898;对于int型变量,内存分配给4个字节(byte)。int型变量的取值范围是:-231~231-1。 (2)byte型 使用关键字byte来定义byte型整型变量。 对于byte型变量,内存分配给1个字节,占8位, byte型变量的取值范围是:-27~27-1。*2.2基本数据类型(3)short型使用关键字short来定义short型整型变量。对于short型变量,内存分配给2个字节,short型变量的取值范围是:-215~215-1。 (4)long型 使用关键字long来定义long型整型变量, 对于long型变量,内存分配给8个字节, long型变量的取值范围是:-263~263-1。*2.2基本数据类型3.字符类型常量:Uincode表中的字符就是一个字符常量,例如‘A’,‘‘?’,‘9’,‘好’,‘き’,等。Java还使用转意字符常量,如:‘\n’:换行‘\b’:退格‘\t’:水平制表‘\’’:单引号变量的定义:使用关键字char来定义字符变量,例如:charx=‘A’,漂亮=‘假’,jiafei;*2.2基本数据类型char型变量,内存分配给2个字节,占16位,最高位不是符号位,没有负数的char。char型变量的取值范围是0~65536。要观察一个字符在unicode表中的顺序位置,必须使用int类型显示转换,不可以使用short型转换,因为char的最高位不是符号位。同样,要得到一个0~65536之间的数所代表的Unicode表中相应位置上的字符也必须使用char型显示转换。下面的例子1中,分别用显示转换来显示一些字符在Unicode表中的位置,以及某些位置上的字符。*2.2基本数据类型4.浮点类型分两种(1)float型常量453.5439f21379.987F2e40f(2乘10的40次方,科学计数法)变量的定义使用关键字float来定义float型变量。对于float型变量,内存分配给4个字节,其取值范围是10-38~1038和-1038~-10-38。*2.2基本数据类型(2)double型常量:21389.5439d(d可以省略)23189908.987,123.0,6e-140(6乘10的-140次方,科学计数法)。变量的定义:使用关键字double来定义double型变量。double型变量,内存分配给8个字节,double型变量的取值范围大约是10-308~10308和-10308~-10-308。返回*2.3基本数据类型的转换基本类型会涉及数据转换,不包括逻辑类型和字符类型。类型按精度从“低”到“高”排列了顺序:byteshortintlongfloatdouble当把级别低的变量的值赋给级别高的变量时,系统自动完成数据类型的转换,如int型转换成long型。当把级别高的变量的值赋给级别低的变量时,必须使用显示类型转换运算。显示转换的格式:(类型名)要转换的值;*2.3基本数据类型的转换例如intx=(int)34.89;输出x将是34,强制转换运算可能导致精度的损失。当把一个整数赋值给一个byte、short、int或long型变量时,不可以超出这些变量的取值范围,否则必须进行类型转换运算。下面我们看一个例子:程序运行结果见右图:返回*2.4数据的输入与输出由于C语言出现的比较早,那个时候还没有图形用户界面的概念(GraphicsUserInterface),因此,C语言提供了许多用来输入、输出数据的函数,例如printf、scanf等。Java不象C,提供在命令行进行数据输入、输出的功能不多。关于输入、输出我们将在第九章详细介绍,现在只需知道它的作用是在命令行窗口(例如,MS-DOS窗口)输出数据即可。Sun公司新推出的JDK1.5又新增了一些在命令行进行数据输入、输出的功能。*2.4数据的输入与输出1.数据输出:System.out.printf System.out.printf的功能完全类似C语言中的printf函数。 pringf的一般格式: printf(格式控制部分,表达式1,表达式2,…表达式n); 这里的用法与C语言相同,这里不再累述。 下面我们看一个例子,来进一步了解System.out.printf数据输出:*2.4数据的输入与输出2.数据的输入:ScannerScanner是SDK1.5新增的一个类 使用该类创建一个对象: Scannerreader=newScanner(System.in); 然后reader对象调用下列方法(函数),读取用户在命令行输入的各种数据类型, nextByte(),nextDouble(),nextFloat(),nextInt(), nextLine(),nextLong(),nextShort()。 例子:计算圆的面积*importjava.util.*;publicclassMain{publicMain(){}publicstaticvoidmain(String[]args){doubleradius,area;Scannerreader=newScanner(System.in);System.out.println("pleaseinputtheradius:");radius=reader.nextDouble();area=radius*radius*3.14;System.out.println("Theareais"+area);}}importjava.util.*;publicclassMain{publicstaticvoidmain(String[]args){doubleradius,area;Scannerreader=newScanner(System.in);System.out.println("pleaseinputtheradius:");radius=reader.nextDouble();area=radius*radius*3.14;System.out.println("Theareais"+area);}} 2.4数据的输入与输出上述方法执行时都会堵塞,等待你在命令行输入数据回车确认。下面让我们来看一个例子,来更好的了解Scanner语句,在这个例子中,用户在键盘依次输入若干个数字,每输入一个数字都需要按回车键确认,最后在键盘输入一个非数字字符结束整个的输入操作过程。程序将计算出这些数的和及平均值。返回*使用输入输出对话框:importjava.awt.*;importjavax.swing.*;publicclassMain{publicstaticvoidmain(String[]args){doubleradius,area;Stringstr=JOptionPane.showInputDialog(null,"inputtheradius","calculatethearea",JOptionPane.INFORMATION_MESSAGE);radius=Double.parseDouble(str);area=radius*radius*3.14;JOptionPane.showMessageDialog(null,"theareais"+area,"calculatethearea",JOptionPane.INFORMATION_MESSAGE);}}2.5数组数组是相同类型的数据按顺序组成的一种复合数据类型。通过数组名加数组下标来使用数组中的数据。下标从0开始。数组的使用声明数组:声明数组的名字、数据类型创建数组:分配内存空间*2.5数组1.声明数组一维数组的声明有下列两种格式:数组元素类型数组名字[];floatboy[];数组元素类型[]数组名字;float[]boy;二维数组的声明有下列两种格式:数组元素类型数组名字[][];数组元素类型[][]数组名字;2.5数组2.创建数组声明数组仅仅是给出了数组名和元素的数据类型,要想使用数组还必须为它分配内存空间,即创建数组。在为数组分配内存空间时必须指明数组的长度。格式如下:数组名字=new数组元素的类型[数组元素的个数];例如:boy=newfloat[4];*2.5数组声明与创建同时进行: float[]boy=newfloat[4]; int[][]mytwo=newint[3][4];2.5数组3.数组元素的使用一维数组通过下标符访问自己的元素,如boy[0],boy[1]等。需要注意的是下标从0开始,因此,数组若是7个元素,下标到6为止,如果你将来使用下标超过6将会发生异常。二维数组也通过下标符访问自己的元素,如a[0][1],a[1][2]等。下标也是从0开始。*2.5数组4.数组的初始化创建数组后,系统会给每个数组元素一个默认的值,如,float型是0.0。还可以给数组的元素一个初始值,如:floatboy[]={21.3f,23.89f,2.0f,23f,778.98f}; 返回*inti;int[]a=newint[5];for(i=0;i<5;i++)a[i]=i;float[]f={1,2,3,4,5,6};String[]str={"we","are","students","."};for(i=0;i<str.length;i++)System.out.println(str[i]);数组的长度对于一维数组,“数组名字”.length就是数组中元素的个数。 String[]str={"we","are","students","."}; for(i=0;i<str.length;i++) System.out.println(str[i]); String[]str={"we","are","students","."};for(i=0;i<str.length;i++)System.out.println(str[i]);*Java允许使用变量定义数组的大小intsize=5;int[]a=newint[size];二维数组中允许每个一维数组的长度不同 inti,j; int[][]a=newint[3][]; a[0]=newint[4]; a[1]=newint[5]; a[2]=newint[6]; for(i=0;i<a.length;i++) { for(j=0;j<a[i].length;j++) { a[i][j]=i+j; System.out.print(a[i][j]+""); } System.out.println(); }2.5数组数组属于引用型变量,因此两个相同类型的数组如果具有相同的引用,它们就有完全相同的元素。int[]a={1,2,3},b={4,5};for(inti=0;i<a.length;i++)System.out.println(a[i]);a=b;for(inti=0;i<a.length;i++)System.out.println(a[i]);int[]a={1,2,3},b={4,5}; b=a;下面让我们结合这个例子来看怎样使用数组。注释Java语言的注释有以下3种//单行注释/*一行或多行注释*//**文档注释*/ 例子: /**ThisisaDemoprogram*/ /*programname:Demo.java writer:Jerry Date:Sep122012 */ packagep1; publicclassDemo{ //prints:Hello! publicstaticvoidmain(String[]args){ System.out.println("Hello!"); } }本章小结 标识符的命名 关键字 8种基本数据类型 常量的表示 变量的定义 数据的输入与输出 输入:Scanner、JOptionPane.showInputDialog() 输出:printf()、print()、println() JOptionPane.showMessageDialog() 数组的使用 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 目1:下列哪些语句有没有错误,如果有是那一句?intx=120;byteb=120;b=x;题目2:下列哪些语句有没有错误,如果有是那一句?floatx=12.0;floaty=12;doubled=12;y=d;题目3:下列System.out.printf语句输出的结果是什么?inta=97;byteb1=(byte)128;byteb2=(byte)(-129);System.out.printf(“%c,%d,%d”,a,b1,b2);*答案:a,-128,127题目4:假设有两个int类型数组:int[]a=newint[10];int[]b=newint[8];b=a;a[0]=100;b[0]的值一定是100吗?*答案:是题目5:下列两条语句的作用等价吗?int[]a={1,2,3,4,5,6,7,8};int[]a=newint[8];返回*答案:不等价 以下哪些标识符是合法的?MyInterface $123 _oneintd+4 Abcde #myclassUser_name 2Tom _sys_val1public true False 下列哪些语句能编译成功?floatj1=1.0;floatk2=1.0f;floatk3=(float)1.0;floatk4=1d;byteb5=10b;shortmyshort6=998;Stringname7='Excellentmusic';Stringaddress8="Excellentmusic";charc9=17c;intz10=015;booleanb11=-1;booleanb12=false;***************importjava.util.*;publicclassMain{publicMain(){}publicstaticvoidmain(String[]args){doubleradius,area;Scannerreader=newScanner(System.in);System.out.println("pleaseinputtheradius:");radius=reader.nextDouble();area=radius*radius*3.14;System.out.println("Theareais"+area);}}*****inti;int[]a=newint[5];for(i=0;i<5;i++)a[i]=i;float[]f={1,2,3,4,5,6};String[]str={"we","are","students","."};for(i=0;i<str.length;i++)System.out.println(str[i]);String[]str={"we","are","students","."};for(i=0;i<str.length;i++)System.out.println(str[i]);**答案:a,-128,127*答案:是*答案:不等价
本文档为【第2章 基本数据类型和数组】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
xxj7584
暂无简介~
格式:ppt
大小:270KB
软件:PowerPoint
页数:0
分类:建造师考试
上传时间:2020-03-20
浏览量:0