《高级语言程序设计(JAVA).ppt》由会员分享,可在线阅读,更多相关《高级语言程序设计(JAVA).ppt(24页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第二章基本数据类型西南科技大学网络教育系列课程西南科技大学网络教育系列课程高级语程序设计高级语程序设计(Java)高级语言程序设计高级语言程序设计(Java)http:/标识符和关键字标识符l用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为标识符,定义的规则如下:u由字母、数字、下划线和美元符组成u必须以字母、下划线或美元符号打头u严格区分大小写,没有长度限制u应该具有特定的意义拉丁字母(a,b,c),汉语中的汉字,日文中的片假语、平假语,朝鲜文以及其他许多语言中的文字l标识符是Java语言的基本组成部分高级语言程序设计高级语言程序设计(Java)http:/合法的标示符
2、,如:$Programe_java$Programe_Java1Programe2_1日历a非法的标示符,如:12Programe&_javaProgram-Java1%Programe21$sum¥number高级语言程序设计高级语言程序设计(Java)http:/关键字l关键字就是Java语言中已经被赋予特定意义的一些单词,它们在程序上有着不同的用途,不可以把关键词作为类名、变量名、方法名、类型名、数组名、文件名等名字来用l关键字如下表所示高级语言程序设计高级语言程序设计(Java)http:/abstractabstractbreakbreakbytebytebooleanboolean
3、catchcatchcasecasecharcharclassclasscontinuecontinuedefaultdefaultdododoubledoubleelseelseextendsextendsfalsefalsefinalfinalfloatfloatforforfinallyfinallyififimportimportimplementsimplementsintintinterfaceinterfaceInstanceofInstanceoflonglonglengthlengthnativenativenewnewnullnullpackagepackageprivat
4、eprivateprotectedprotectedpublicpublicreturnreturnswitchswitchsynchronizedsynchronizedshortshortstaticstaticsupersupertrytrytruetruethisthisthrowthrowthrowsthrowsthreadsafethreadsafetransienttransientvoidvoidvolatilevolatilewhilewhileJava关键字表高级语言程序设计高级语言程序设计(Java)http:/基本数据类型Java数据类型数据类型基本数据类型基本数据类型
5、字字符符型型(char)布布尔尔类类型型(boolean)复合数据类型复合数据类型 类类(class)接接口口(interface)数组数组空空 类类 型型(null)数值类型数值类型 整数类型整数类型 实数类型实数类型 短短整整型型(short)整型整型(int)单精度浮点型单精度浮点型(float)双双 精精 度度 浮浮 点点 型型(double)长整型长整型(long)字节型字节型(byte)Java数据类型表高级语言程序设计高级语言程序设计(Java)http:/整数类型lJava整型数都为有符号数,整型多为十进制数形式,也可为八进制或十六进制形式l整型的范围与Java代码所运行的机器
6、无关l整形按所占内存空间的大小分为四种类型ubyte、short、int、longlint类型:32位(4个字节),最常用,变量的取值范围是:-231231-1uint型变量使用关键字int来定义,如:uinta,sum,Number,整数;intn=55;高级语言程序设计高级语言程序设计(Java)http:/llong类型:64位(8个字节),用于很大的整数,长整形数字都有一个后缀L,变量的取值范围是-263263-1ulong型变量使用关键字long来定义,如:longnumber,数学,$sum;longn=500000L;/L的大小写均可lshort类型:16位(2个字节),变量的取
7、值范围是-215215-1ushort型变量使用关键字short来定义,如:shortnumber,数学,$sum;shortmynum=500;高级语言程序设计高级语言程序设计(Java)http:/lbyte类型:8位(1个字节),变量的取值范围是-2727-1ubyte型变量使用关键字long来定义,如:bytenumber,数学,$sum;bytenum=50;高级语言程序设计高级语言程序设计(Java)http:/浮点型数据l浮点型数据有两种表示方式u用十进制数形式表示,由数字和小数点组成,如:3.25u用科学计数法形式表示,如:123E-3l浮点型按所占内存空间的大小分为两种类型:
8、float型(4字节)和double型(8字节)u浮点型数据不适合在不允许舍入误差的金融计算领域使用,如:2.0f-1.1f=0.89999999999999990l数后加f或F为float型,加d或D为double型(默认为double类型)高级语言程序设计高级语言程序设计(Java)http:/实例publicclassFloatandDoublepublicstaticvoidmain(Stringargs)floatc=4.2f;floatd=12E-3f;doublea=5.0;doubleb=13E-2;System.out.println(“a=”,a);System.out.p
9、rintln(“b=”,b);System.out.println(“c=”,c);System.out.println(“d=”,d);a=5.0b=0.13c=4.2d=0.012高级语言程序设计高级语言程序设计(Java)http:/字符数据类型l字符常量是用单引号括起来的一个字符,如:J、*lchar型变量,内存分配给2个字节,占16位,最高位不是符号位,没有负数的charlJava中有以反斜杠开头的字符,反斜杠将其后面的字符转变为另外的含义,称为转义字符如:nbtuchar变量的定义如下:charch=5;高级语言程序设计高级语言程序设计(Java)http:/lJava中的字符型数
10、据是16位的Unicode字符,汉字和英文字母占的内存空间相同u例:“JAVA你好”共12个字节l要观察一个字符在unicode表中的顺序位置,必须使用int类型显示转换,如:(int)au不可使用short型(2字节)转换,因为char的最高位不是符号位l如果要得到一个065536之间的数所代表的unicode表中相应位置上的字符必须使用char向显示转换,如:(char)69高级语言程序设计高级语言程序设计(Java)http:/l例:显示字符在unicode中的位置PublicclassexaPublicstaticvoidmain(Stringargs)charWord=你;intp=
11、20329;System.out.println(“汉字你在unicode表中的顺序位置:”+(int)Word);System.out.println(“unicode表中第20329位置上的字符是:”+(char)p);结果:20320结果:佩高级语言程序设计高级语言程序设计(Java)http:/布尔数据类型l又称为逻辑类型l布尔型常量值只有:true和falsel布尔型变量为boolean类型,取值为true或false,定义时可以赋予初值u例如:booleanb=true;高级语言程序设计高级语言程序设计(Java)http:/基本数据类型的转换l基本数据类型的转换就是把一种基本数据
12、类型变量转变成另一种基本类型变量。l精度由低到高排列为:低高byteshortcharintlongfloatdoublel当把级别低的变量的值赋给级别高的变量时,系统自动完成数据类型的转换。l当把级别高的变量的值赋给级别低的变量时,必须使用显示类型转换运算。u高精度向低精度转换容易造成精度损失。高级语言程序设计高级语言程序设计(Java)http:/实例inta=9,c;shortb=4;c=a+bintc;floatb=4.2f;c=(int)bintc;dooubleb=4.2;c=(int)b结果:c=13结果:c=4结果:c=4高级语言程序设计高级语言程序设计(Java)http:/
13、数据的简单输入与输出Java提供的数据输入与输出很多都是在命令行窗口(例如,MS-DOS窗口)中进行。数据输出System.out对象lprintln():输出文本并换行lprint():输出文本不换行lprintf():带格式的输出(新增方法)教材P21uprintf(格式控制部分,表达式1,表达式2,表达式n);高级语言程序设计高级语言程序设计(Java)http:/publicclassPrintOutpublicstaticvoidmain(Stringargs)longx=5678l;floatf=123.456789f;doubled=123456.12345678;charc=a
14、;System.out.print(f);System.out.println(f);System.out.printf(%cn%10.3f%n%f,%12d%n%d,c,f,d,x=x+2,x);System.out.printf(%cn%10.3f%n%f,%3d%n%d,c,f,d,x=x+2,x);高级语言程序设计高级语言程序设计(Java)http:/数据的输入:ScannerlScanner是SDK1.5新增的一个类l然后reader对象调用下列方法,读取用户在命令行输入的各种数据类型。unextByte(),nextDouble(),nextFloat(),nextLine(),
15、nextInt(),nextLine(),nextLong(),nextShort()l上述方法执行时系统都会暂时停下来,等待在命令行输入数据后回车确认,l首先创建一个该类的对象:Scannerreader=newScanner(System.in);高级语言程序设计高级语言程序设计(Java)http:/l例:用户在键盘依次输入若干个数字,每输入一个数字都需要按回车键确认,最后在键盘输入一个非数字字符(比如回车)结束整个的输入操作过程,程序将计算出这些数的和及平均值u等待输入的方法:hasNextXXX()u读取输入数据的方法:nextXXX()高级语言程序设计高级语言程序设计(Java)h
16、ttp:/importjava.util.*;publicclassExamplepublicstaticvoidmain(Stringargs)Scannerreader=newScanner(System.in);doublesum=0;intm=0;while(reader.hasNextDouble()doublex=reader.nextDouble();m=m+1;sum=sum+x;System.out.printf(%d个数的和为%fn,m,sum);System.out.printf(%d个数的平均值是%fn,m,sum/m);reader.close();高级语言程序设计高
17、级语言程序设计(Java)http:/Unicode字符集介绍l每个字符在计算机中通常都是使用一个编码来表示,而这个字符的编码是什么,则要取决于使用哪个字符集(charset)几个常见的字符集l最早只有一种字符集ANSII(AmericanStandardsCommitteeforInformationInterchange)字符集,它使用7bits来表示一个字符,总共表示128个字符l扩展的ANSII字符集,使用8bits表示一个字符,可以表示256个字符,主要在原来的7bits字符集的基础上加入了一些特殊符号例如制表符、画线符等,又叫IBM字符集补充介绍高级语言程序设计高级语言程序设计(Java)http:/lMBCS(Multi-ByteChactacterSystem,多字节字符系统),也是在ASCII字符集上进行的扩展,以适应不同国家的需要,比如我国的GB-2312lUnicode是一个涵盖了目前全世界使用的所有已知字符的单一编码方案,也就是说Unicode为每一个字符提供唯一的编码u标准的Unicode字符集使用定长编码,即使用16位编码,称为UTF-16uUnicode还有一种变长编码,即8位编码方式,这种编码可以用1-3个字节表示一个unicode字符,称为UTF-8
限制150内