2010-8-11《Java程序设计精编教程》第3章配合Java程序设计精编教程例子源代码一起使用Powerpoint制作:耿祥义张跃平标识符与简单数据类型2010-8-12主要内容标识符与关键字简单数据类型简单数据类型的级别与类型转换从命令行窗口输入、输出数据导读2010-8-13§3.1标识符与关键字1.标识符用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为标识符。简单地说,标识符就是一个名字。2.关键字关键字就是Java语言中已经被赋予特定意义的一些单词。不可以把关键字做为标识符来用。2010-8-14§3.2简单数据类型简单数据类型也称作基本数据类型。Java语言有8种基本数据类型,分别是:boolean、byte、short、int、long、float、double、char。这8种基本数据类型习惯上可分为以下四大类型:逻辑类型:boolean整数类型:byte、short、int、long字符类型:char浮点类型:float、double2010-8-15§3.2.1逻辑类型常量:true,false。变量:使用关键字boolean来声明逻辑变量,声明时也可以赋给初值,例如:booleanx,ok=true,关闭=false;2010-8-16§3.2.2整数类型1.int型常量:123,6000(十进制),077(八进制),0x3ABC(十六进制)。变量:使用关键字int来声明int型变量,声明时也可以赋给初值,例如:intx=12,平均=9898,jiafei;对于int型变量,内存分配给4个字节(byte),占32位。2.byte型常量:Java中不存在byte型常量的表示法,但可以把一定范围内的int型常量赋值给byte型变量。变量:使用关键字byte来声明byte型变量例如:bytex=-12,tom=28,漂亮=98;对于byte型内存分配给1个字节,占8位。3.short型常量:和byte型类似,Java中也不存在short型常量的表示法,但可以把一定范围内的int型常量赋值给short型变量。变量:使用关键字short来声明short型变量例如:shortx=12,y=1234;对于short型变量,内存分配给2个字节,占16位.4.long型常量:long型常量用后缀L来表示,例如108L(十进制)、07123L(八进制)、0x3ABCL(十六进制)。变量:使用关键字long来声明long型变量,例如:longwidth=12L,height=2005L,length;对于long型变量,内存分配给8个字节,占64位。2010-8-17§3.2.3字符类型1.常量:常量:‘A’,‘b’,‘?’,‘!’,‘9’,‘好’,‘\t’,‘き’,‘モ’等,即用单引号扩起的Unicode表中的一个字符。2.变量:使用关键字char来声明char型变量,例如:charch=‘A’,home=‘家’,handsome=‘酷’;对于char型变量,内存分配给2个字节,占16位3.转意字符常量:有些字符(如回车符)不能通过键盘输入到字符串或程序中,就需要使用转意字符常量,例如:\n(换行),\b(退格),\t(水平制表),\‘(单引号),\“(双引号),\\(反斜线)等。4.要观察一个字符在Unicode表中的顺序位置,可以使用int型显示转换,如(int)'a'或intp='a'。5.如果要得到一个0~65536之间的数所代表的Unicode表中相应位置上的字符必须使用char型显示转换。例子12010-8-18§3.2.4浮点类型1.float型常量:453.5439f,21379.987F,231.0f(小数表示法),2e40f(2乘10的40次方,指数表示法)。需要特别注意的是:常量后面必须要有后缀“f”或“F”。变量:使用关键字float来声明float型变量,例如:floatx=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”,但允许省略该后缀。变量:使用关键字double来声明double型变量,例如:doubleheight=23.345,width=34.56D,length=1e12;对于double型变量,内存分配给8个字节,占64位。精度:double变量在存储double型数据时保留16位有效数字,实际精度取决于具体数值。例子22010-8-19§3.3简单数据类型的级别与类型转换运算Java中数据的基本类型(不包括逻辑类型)按精度从“低”到“高”排列:byteshortcharintlongfloatdouble★当把级别低的变量的值赋给级别高的变量时,系统自动完成数据类型的转换。例如:floatx=100;★当把级别高的变量的值赋给级别低的变量时,必须使用显示类型转换运算。显示转换的格式:(类型名)要转换的值;例如intx=(int)34.89;★当把一个int型常量赋值给一个byte和short型变量时,不可以超出这些变量的取值范围,否则必须进行类型转换运算;例如,常量128的属于int型常量,超出byte变量的取值范围,如果赋值给byte型变量,必须进行byte类型转换运算(将导致精度的损失),如下所示:bytea=(byte)128;例子32010-8-110§3.4从命令行输入、输出数据§3.4.1输入基本型数据◆可以使用Scanner类创建一个对象:Scannerreader=newScanner(System.in);◆reader对象调用下列方法,读取用户在命令行(例如,MS-DOS窗口)输入的各种基本类型数据:nextBoolean()、nextByte()、nextShort()、nextInt()nextLong()、nextFloat()、nextDouble()。上述方法执行时都会堵塞,程序等待用户在命令行输入数据回车确认。例子42010-8-111§3.4.2输出基本型数据◆用System.out.println()或System.out.print()可输出串值、表达式的值,二者的区别是前者输出数据后换行,后者不换行。◆允许使用并置符号:“+”将变量、表达式或一个常数值与一个字符串并置一起输出,如: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:输出字符串数据。输出数据时也可以控制数据在命令行的位置,例如:%md:输出的int型数据占m列%m.nf:输出的浮点型数据占m列,小数点保留n位。