JAVA讲义-第2讲-标识符和数据类型.ppt
第章标识符、关键字和数据类型,2.1 标识符和关键字2.2 Java语言的基本数据类型2.3 Java的数组,基本数据类型,Java 的基本数据类型包括:boolean、byte、short、int、long、float、double、char。,2.1 标识符和关键字,标识符:标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为。简单地说,标识符就是一个名字。由字母、下划线、美元符号和数字组成,并且第一个字符不能是数字字符。关键字:就是Java语言中已经被赋予特定意义的一些单词。不可以把这类词作为名字来用。,2.2 Java语言的基本数据类型,8种基本数据类型:boolean、byte、short、int、long、float、double、char。可分为4大类型:逻辑类型:boolean字符类型:char整数类型:byte、short、int、long浮点类型:float、double,1.逻辑类型,常量:true,false。变量的定义使用关键字boolean来定义逻辑变量,定义时也可以赋给初值:boolean x=true,tom=false,jiafei;注意只能赋值true,falseif(1)-errorif(true)-ok,2.int 型,int型整型变量int x=12,tom=-1230,height=9898,number;-内存分配给4个字节(byte),一个字节由8位(bit)组成,4个字节占32位。int型变量的取值范围是:-231231-1,3.byte 型,byte 型整型变量,byte m=-12,deep=28,speed=98;内存分配给1个字节,占8位变量的取值范围是:-2727-1。(-128-+127)为有符号型,3.byte 型,注意:byte参与运算时候,会被提升为intbyte b;b=3;b=b*3;System.out.println(b);会报错,为什么?解决方案:b=byte(b*3);,4.short 型 有符号,short型整型变量:short x=12,tom=1234,漂亮=9876,jiafei;内存分配给2个字节,占16位,因此short型变量的取值范围是:-215 215-1。,5.Char型,常量Java使用unicode字符集,uincode表中的字符就是一个字符常量,字符常量需使用单引号扩起,例如:A、b、?、!、9、好、t、变量使用关键字char来定义字符变量:char x=A,tom=爽,jiafei;内存分配给2个字节,占16位,最高位不用来表示符号。,5.Char型,注意:Char ch;Ch=97;/ok,例子1,public class Example2_1 public static void main(String args)char chinaWord=你,japanWord=;int p1=36328,p2=38358;System.out.println(“汉字你在unicode表中的顺序位置:+(int)chinaWord);System.out.println(日语在unicode表中的顺序位置:+(int)japanWord);System.out.println(unicode表中第20328位置上的字符是:+(char)p1);System.out.println(unicode表中第12358位置上的字符是:+(char)p2);,6.float 型,常量 123.5439f,12389.987F,123.0f,2e40f(2乘10的40次方,科学计数法)变量 float x=12.76f,tom=1234.987f;内存分配给4个字节.,6.float 型,注意float f=1.3;系统会报错,为什么?改为:f=1.3f,7.double 型,常量 12389.5439d(d可以省略),12389908.987,123.0,6e-140(6乘10的-140次方,科学计数法)变量 double x=12.76,tom=1234098.987;内存分配给8个字节.,8.基本数据类型的转换,基本数据类型变量的值赋给另一种基本类型变量时,就涉及到数据转换。精度由低到高:byte short int long float double 当把在级别低的变量的值赋给级别高的变量时,系统自动完成数据类型的转换。,8.基本数据类型的转换,例如,float x=100;如果输出x的值,结果将是100.0例如 int x=50;float y;y=x;如果输出y的值,结果将是50.0。,8.基本数据类型的转换,当把在级别高的变量的值赋给级别底变量时,必须使用显示类型转换运算。显示转换的格式:(类型名)要转换的值;例如:int x=(int)23.89;long y=(long)34.98F;如果输出x,y的值将是23和34,强制转换运算可能导致精度的损失,例子2,public class Example2_2 public static void main(String args)int c=2200;long d=8000;float f;double g=123456789.123456789;c=(int)d;f=(float)g;/导致精度的损失.System.out.print(c=+c);System.out.println(d=+d);System.out.println(f=+f);System.out.println(g=+g);,2.3 Java的数组,数组是相同类型的数据按顺序组成的一种复合数据类型。通过数组名加数组下标,来使用数组中的数据。下标从0开始排序。声明数组仅仅是给出了数组名字和元素的数据类型;要想真正的使用数组还必须为它分配内存空间,即创建数组。在为数组分配内存空间时必须指明数组的长度。数组元素类型 数组名;数组名字=new 数组元素的类型数组元素的个数;,2.3 Java的数组,注意:int b5,报错例子:int b;(或者 int b;)b=new int5;或者,int b=new int5;,2.3 Java的数组,赋值方法int b=1,2,3,4,10;int b=new int4;b0=1;b1=2;b2=3;b3=4;,2.3 Java的数组,int num=new int 1,2,3;/OKint num=new int3 1,2,3;/error,二维数组,声明:int num;num=new 3;num0=new int 5;num1=new int 2;num2=new int 5;,二维数组的初始化方法,int num=new 1,2,3,4,5,6-/errorint num=new 1,2,3,4,5,6-/okint num=1,2,3,4,5,6,6注意new后面不能指定数组的大小,二维数组的初始化方法,int=1,2,3,2,4,5/OK,例子,public class Example2_3 public static void main(String args)int a=100,200,300;int b=10,11,12,13,14,15,16;b=a;b0=123456;System.out.println(数组a:+a0+,+a1+,+a2);System.out.println(数组b:+b0+,+b1+,+b2);System.out.println(数组b的长度:+b.length);,