资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,Java 语言编程技术,*,第2章 Java的数据类型,Java 数据类型,常量,变量,数据类型转换,类的初步概念,1,数据类型,基本,数据,类型,数值型,整数,byte(8), short(16), int(32), long(64),浮点型,float (32), double(64),字符型,char (16),布尔型,boolean (true / false),复合,类型,类,class,字符串,String, StringBuffer,数组,类型 ,2,数据类型,数据类型关键字占用,bit,数变量的缺省初值,布尔型,boolean1false,字节型,byte80,字符型,char16u0000 ,短整型,short160,整型,int320,长整型,long640,L,浮点型,float320.0,F,双精度型,double640.0,D,3,逻辑型常量(布尔常量),布尔常量,true false,只占,1,位,不能与整型数和其他数据类型进行互相转换,4,整型常量:进制,十进制数:非0开头的正负整数 105,-23,八进制数:,0,开头的正负整数 017(15), -023(-19),十六进制:,0,x,开头的正负整数 0,x2F(47), -0xa8(-168),(,Java,中所有整数类型都是,有符号,的,),5,整型常量:长短类型,注意:,Java,中,缺省整型常量是,int,型,,如2008 (,int,型,32位),十进制 八进制 十六进制,int 2407710XAB07,long24L0771L 0XAB07L,类型长度取值范围,byte8,位-2,7,2,7,-1,short16,位 -2,15,2,15,-1,int32,位,-2,31,2,31,-1,long64,位,-2,63,2,63,-1,6,浮点型常量,浮点型:,float,和,double,长度:,float : 32,位,double: 64,位,常量缺省为,double,类型,,如,3.14 (,double,型,64位,),表达方法:,E,或,e ,科学记数法 6.02,e23,F,或,f ,表示,float,类型, 6.02,e23F,D,或,d ,表示,double,型,,2.718,D,(可缺省,D,),7,字符型常量,char,型常量:用单引号界定,采用,Unicode,码,(一种16位的,字符编码系统,可以支持各类文字的字符,目前达34168个字符。),定义形式:,a; t,(,转义字符),;,uXXXX,,如, ,(,空格符,),-,u20 ,Unicode,码从,u0000,uFFFF,,,其中,u00uFF,为,ASCII,码,char int ,自动转换,int char,强制转换,8,常见转义字符,引用方法对应,Unicode,码意义,bu0008,回退,tu0009,水平制表符,tab,nu000a,换行,ru000d,回车,”,u0022,双引号,u0027,单引号,u005c,反斜线,9,变量,变量声明:先声明,后使用,int n = 10 ;,变量名、方法名等,Java,标识符的命名规定,字母、数字、_、$组成,以字母、_、$开头(不能以数字开头),长度没有限制,区分大小写,不得使用,Java,保留字,10,字符串,String,是,类,(复合数据类型),但在定义和使用时,几乎可将其看作基本数据类型:,如,String,greeting=“Good Morning! n”;,+,号的特殊用法,“,Hello”+”World”,即“,HelloWorld”,若,int,F=4,则 “,F”+F,即,“,F,4”,若,float,F=4.0f,则 “,F”+F,即,“,F,4,.0,”,11,Java保留字,abstract boolean break bytecase,catch char class continue,default do double else extends,false finalfinally float for,if implements import instanceof int,interface long native new null,package privateprotected public return,short static super switch synchronized,this throwthrows transient true,try void volatile while,12,基本数据类型变量的赋值,boolean b = true;,short s = 128;,int i,j,k = -99;/ i,j=?,long l = 123456789L;,char ch = J;,char chc = ,中 ;,float f = 3.14f;,double d = -1.04E-5;,在赋值时,,Java,几乎是将,String,视为基本数据类型:,String t = “,你好!,n”;,13,数据类型转换,自动类型转换:短类型值,-,长,类型值,强制类型转换:,长类型值 -,短类型值,例:,int i ;,long l ;,char c;,l = i ; /,自动,i = (int) l ; /,强制,c= (char) i ; /,强制,i=(int) c; /,自动, 可省略(,int),注意:布尔型,与其他数据类型之间不能强制类型转换,14,一般形式:(,type) expression,例:(,float) x/2,对强制类型转换的限制:,整型与浮点型,等类型之间,可以相互转换,但,基本数据,类型和数组、对象等复合数据类型之间不能互相转换,。,Java,强制类型转换,15,“日期”类型的两种不同表达:,方式一:,int d1,m1,y1; /,定义一个日期,int d2,m2,y2;/,定义另一个日期,类的初步概念,方式二:,class Date /Date,类,int day; /day,是,Date,类的一个成员变量,int month; /,成员变量,int year; /,成员变量, ;,Date d1, d2;,/,定义,2,个,Date,型变量,d1.day,=1;,d1.month,=12;,d1.year,=2008;,(每个,Date,型变量都会包含,day,month,year,三个,int,型成员变量),16,在,Java,中,类的变量在声明后,不能直接使用,必须经过,实例化,:,基本数据,类型,变量在声明后,系统自动为其开辟数据存储的内存空间。,如:,int a;,a=10;,复,合,数据类型,变量在声明后,系统不直接为它开辟数据存储空间,而是开辟,引用空间,。只有通过,实例化,,才能给数据开辟空间。,类的变量的声明与引用,17,例:1,:,Date today;,2:,today = new Date( );,today,day,month,year,1111,0,0,0,1111,以下语句组是否正确,?,Date today;,today.day=12;,原因:,today,对象的数据空间尚未开辟,无法对其赋值。,类的变量的声明与引用,引用空间,数据空间,1,2,18,Date a, b ;,a=new Date( );,b = a ;,a.day=1;,b.day=?,a,b,day,month,year,0,x1111,0,0,0,0,x1111,0,x1111,引用变量之间的赋值,19,课堂练习,1,.,下列,哪,些,选项是,合法,的标识符?,A)20,k,B)_name C)Class D)first#,D,BC,2,.,下列哪个选项,正确,表示八进制,数,9?,A)0x9 B)09L C)0x11 D)011L,20,3,.,下列的哪,个,赋值语句是,错误,的?,A)float f =(float) 017L; B)double d = 5.3E12; C)float f = 3.14 ; D)double d=11.1E10f;,C,ABD,4,.,下列哪,些,赋值语句是,正确,的?,A)int i=F+ 4;,B),int,i=(int) 12.5;,C) int i=3.14f;,D),double,d=(int) 13.9;,课堂练习,21,
展开阅读全文