《JAVA的数据类型.ppt》由会员分享,可在线阅读,更多相关《JAVA的数据类型.ppt(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、JAVA的数据类型的数据类型主要内容主要内容n n标识符和保留字n n数据类型n n类型转换n n运算符和表达式n n控制语句标识符标识符n n以字母,下划线(以字母,下划线(_ _),美元符号(美元符号($)开始的一个字母序)开始的一个字母序列;后续字符可以是字母,数字,下划线,美元符,列;后续字符可以是字母,数字,下划线,美元符,UnicodeUnicode字符集中大于字符集中大于0 xC00 xC0的所有符号,运算符除外。的所有符号,运算符除外。n n大小写敏感,没有最大长度限制大小写敏感,没有最大长度限制n n不能与保留字重名(不能与保留字重名(P10P10)n n实际编程序中,甚至标
2、识符完全可以用中文,比如可以把实际编程序中,甚至标识符完全可以用中文,比如可以把一个变量的名字命名为一个变量的名字命名为n nint int 中文中文=1=1;标识符举例标识符举例n n合法的标识符identifier userName User_Name _sys_val$changen n不合法的标识符2mailroom#class保留字保留字n n具有专门的意义和用途,不能当作一般的标识符使用,这些标识符称为保留字(reserved word),也称为关键字:n n都是小写,比如true,false,null等,不像c中都是大写的。n n注意和c+的保留字的区别,增加了哪些,又去掉了哪些
3、。n n比如在java中没有sizeof运算符,因为数据类型的长度与平台无关。保留字保留字 abstract break byte boolean catch case class char continue default double do else extends false final float for finally if import implements int interface instanceof long length native new null package private protected public final return switch synchro
4、nized short static super try true this throw throws threadsafe transient void while数据类型数据类型n n数据类型的分类n n简单数据类型,复杂数据类型简单数据类型,复杂数据类型n nbytebyte,shortshort,intint,longlong,floatfloat,doubledoublen ncharchar,booleanbooleann nclassclass,interfaceinterface,数组,数组n n数的范围,位长n n不支持c/C+中的指针类型,结构类型(struct)、联合类型
5、(union),枚举类型(enum)常量,变量常量,变量n n常量用文字串表示,比如常量用文字串表示,比如 3 3,aa等等n n通过通过finalfinal定义常量,定义常量,final typeSpecifier varName=value,varName=value;final typeSpecifier varName=value,varName=value;如如 final int i final int i0 0;n n变量是变量是javajava中的基本存储单元,包括变量名,类型,作用中的基本存储单元,包括变量名,类型,作用域等。域等。int i int i0 0,j j1 1;
6、n n局部变量,类变量,方法参数,例外处理参数等。局部变量,类变量,方法参数,例外处理参数等。简单数据类型简单数据类型boolean类型类型n n布尔型数据只有两个值true和false,且它们不对应于任何整数值布尔型变量的定义如:boolean b=true;boolean a=false;简单数据类型字符类型简单数据类型字符类型charn n字符常量字符常量字符常量是用单引号括起来的一个字符,如字符常量是用单引号括起来的一个字符,如aa,A;A;n n字符型变量字符型变量类型为类型为charchar,它在机器中占,它在机器中占1616位,位,1616位无符号型数据,其范围为位无符号型数据,
7、其范围为0 06553565535。字。字符型变量的定义如:符型变量的定义如:char c=a;char c=a;/*/*指定变量指定变量c c为为charchar型,且赋初值为型,且赋初值为a*/a*/n nJavaJava也也提提供供转转义义字字符符,以以反反斜斜杠杠()开开头头,P13,P13,比比如如 表表示示单单引引号号,uxxxxuxxxx,1 1到到4 4位位1616进制表示的字符。进制表示的字符。n n如何从字符转换到它的编码,可以用如何从字符转换到它的编码,可以用jdkjdk提供的工具提供的工具native2ascii.exenative2ascii.exe程序。程序。n n
8、举例,举例,“中文中文”的的unicodeunicode编码是:编码是:“u4e2du6587”“u4e2du6587”简单数据类型字符类型简单数据类型字符类型char(续)(续)n nJava中的字符型数据不能用作整数,因为java不提供无符号整数类型,但是同样可以把他当作整数数据来操作。例如:int three=3;int one=1;char four=(char)(three+one);/four=4简单数据类型整型数据简单数据类型整型数据数据类型所占位数数的范围byte8-2727-1short16-215215-1int32-231231-1long64-263263-1在定义时,
9、long型数据要加后缀l或者L。浮点型(实型)数据浮点型(实型)数据n n实型常量1.十进制数形式由数字和小数点组成,且必须有小数点,如0.123,.123,123.,123.02.科学计数法形式如:123e3或123E3,其中e或E之前必须有数字,且e或E后面的指数必须为整数。浮点型(实型)数据浮点型(实型)数据n n实型变量数据类型 所占位数数的范围float 323.4e038 3.4e038double 641.7e308 1.7e308n n注意:定义float时,需加后缀f或F使用举例使用举例public class Testpublic class Test byte b=21;
10、byte b=21;short s=256;short s=256;int i=100000;int i=100000;long l=0 xffL;long l=0 xffL;double d=0.7e-3;double d=0.7e-3;boolean b=false;boolean b=false;类型转换类型转换n n自动类型转换自动类型转换整型整型,实型实型,字符型数据可以混合运算。运算中,不同类型的数据先转化为同字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算,转换从低级到高级;一类型,然后进行运算,转换从低级到高级;低低-高高byte,short,cha
11、rbyte,short,char int long float double int long float double一个例子一个例子:类型转换类型转换n nclass Conversion class Conversion n npublic static void main(String args)public static void main(String args)n nbyte b;byte b;n nint i=257;int i=257;n ndouble d=323.142;double d=323.142;n nSystem.out.println(nConversion
12、of int to byte.);System.out.println(nConversion of int to byte.);n nb=(byte)i;b=(byte)i;n nSystem.out.println(i and b +i+b);System.out.println(nConversion System.out.println(i and b +i+b);System.out.println(nConversion of double to int.);i=(int)d;of double to int.);i=(int)d;n nSystem.out.println(d a
13、nd i +d+i);System.out.println(d and i +d+i);n nSystem.out.println(nConversion of double to byte.);System.out.println(nConversion of double to byte.);n nb=(byte)d;b=(byte)d;n nSystem.out.println(d and b +d+b);System.out.println(d and b +d+b);n n n n 自动类型转换规则自动类型转换规则n n操作数1类型 操作数2类型 转换后的类型n nbyte、shor
14、t、char intintn nbyte、short、char、int long longn nbyte、short、char、int、long float floatn nbyte、short、char、int、long、float double double强制类型转换强制类型转换n n高级数据要转换成低级数据,需用到强制类型转换,如:int i;byte b=(byte)i;/*把int型变量i强制转换为byte型*/运算符和表达式运算符和表达式n n与我们学过的C+是相同的。n n注意运算符的类型n n优先级n n参与计算的数的类型n n一些运算符的特殊用途。运算符运算符(按照操作数区
15、分按照操作数区分)n n一元运算符:,n n二元运算符:,n n三元运算符:?:运算符运算符(按照功能来分按照功能来分)1 1)算术运算符:)算术运算符:+,*,/,%,+,3+2;a-b;i+;-i;3+2;a-b;i+;-i;2 2)关系运算符:)关系运算符:,=,=3;i=0;count3;i=0;n!=-1;n!=-1;3 3)布尔逻辑运算符:)布尔逻辑运算符:!,&,|flag=true;flag=true;!(flag);!(flag);flag&false;flag&false;表达式的类型表达式的类型n n表达式的类型由运算以及参与运算的操作数的类型决定,可以是简单类型,也可以是复合类型:布尔型表达式:x&y|z;整型表达式:num1+num2