Java2-2数据类型、运算符和表达式1.ppt

上传人:hyn****60 文档编号:71360071 上传时间:2023-02-03 格式:PPT 页数:37 大小:138KB
返回 下载 相关 举报
Java2-2数据类型、运算符和表达式1.ppt_第1页
第1页 / 共37页
Java2-2数据类型、运算符和表达式1.ppt_第2页
第2页 / 共37页
点击查看更多>>
资源描述

《Java2-2数据类型、运算符和表达式1.ppt》由会员分享,可在线阅读,更多相关《Java2-2数据类型、运算符和表达式1.ppt(37页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第第2章章数据类型、运算符和表达式数据类型、运算符和表达式1本章主要内容本章主要内容基本语法基本语法常量:包括字面常量和符号表示的常量;常量:包括字面常量和符号表示的常量;变量:整形、浮点型、字符型和布尔型;变量:整形、浮点型、字符型和布尔型;数组:数组:Java的数组属于类类型;的数组属于类类型;参数传递方式;参数传递方式;运算符:包括逻辑运算符、算术运算符运算符:包括逻辑运算符、算术运算符和位运算符等;和位运算符等;22.1常量常量整整形形常常量量:采采用用八八进进制制、十十进进制制、十十六六进进制制表表示示,但不能采用二进制表示,和但不能采用二进制表示,和C/C+中的一样。中的一样。浮浮

2、点点常常量量:采采用用十十进进制制或或科科学学记记数数法法表表示示。在在缺缺省情况下一个浮点数是省情况下一个浮点数是double型。型。布布尔尔常常量量:true和和false,它它们们不不是是数数,不不能能进进行行算术运算。算术运算。字符常量:与字符常量:与C/C+中的表示类似中的表示类似。字符串常量:字符串常量:Java中字符串常量是对象中字符串常量是对象。32.1Java语言词法语言词法1注释注释(1)/*注释内容注释内容*/(2)/注释内容注释内容(3)/*注释内容注释内容*/2关键词关键词关关键键词词是是构构成成编编程程语语言言本本身身的的符符号号,是是一一种种特特殊的标识符,又称保

3、留字。殊的标识符,又称保留字。42.1Java语言词法语言词法关键词abstractbooleanintinterfacebreakbytelongnativebyvaluecasepackageprivatecastclassprotectedpubliccontinuedefaultreturnshortdodoublestaticsuperfalsefinalswitchsynchronizedfinallyfloatthisthreadsafeforgoto*throwtransientifimplementstruetryimportinstanceofvoidwhile52.1Ja

4、va语言词法语言词法3标标识识符符:标标识识符符是是能能被被编编译译器器识识别别而而提提供供的在程序中惟一的名字,可以是任意长度的在程序中惟一的名字,可以是任意长度。(1)由字母、下划线()由字母、下划线(_)或美元符()或美元符($)开)开头,同时由字母、头,同时由字母、09的数字、下划线(的数字、下划线(_)或美元符(或美元符($)组成。)组成。(2)不能与关键词同名。)不能与关键词同名。注意:名字最好是顾名思义;不能使用系统保注意:名字最好是顾名思义;不能使用系统保留字。留字。62.2常量常量整整形形常常量量:采采用用八八进进制制、十十进进制制、十十六六进进制制表表示示,但不能采用二进制

5、表示,和但不能采用二进制表示,和C/C+中的一样。中的一样。浮浮点点常常量量:采采用用十十进进制制或或科科学学记记数数法法表表示示。在在缺缺省情况下一个浮点数是省情况下一个浮点数是double型。型。布布尔尔常常量量:true和和false,它它们们不不是是数数,不不能能进进行行算术运算。算术运算。字符常量:与字符常量:与C/C+中的表示类似中的表示类似。字符串常量:字符串常量:Java中字符串常量是对象中字符串常量是对象。72.2 常量常量功能字符形式功能字符形式回车r单引号换行n双引号水平制表t八进制位模式ddd退格b十六进制模式Udddd换页f反斜线Java语言还允许使用一种以“”开头的

6、特殊形式的字符常量,这种字符常量称为转义字符。其用来表示一些不可显示的或有特殊意义的字符。82.2常量常量常量的声明:常量的声明:final类型类型常量名;常量名;一般地,常量名用大写形式一般地,常量名用大写形式92.3.1整形类型的变量整形类型的变量字节(字节(byte)型,型,8个位。个位。短整形短整形(short),占占16个位。个位。整形整形(int),占占32个位。个位。长整形长整形(longint),占占64个位。个位。Java中的整形最值均有符号。例如程序中的整形最值均有符号。例如程序2-1测试最值:测试最值:10publicclassTest_Int/程序程序2-1测试整形变量

7、的最值测试整形变量的最值publicstaticvoidmain(Stringargs)System.out.println(Byte.MAX_VALUE);System.out.println(Byte.MIN_VALUE);System.out.println(Short.MAX_VALUE);System.out.println(Short.MIN_VALUE);System.out.println(Integer.MAX_VALUE);System.out.println(Integer.MIN_VALUE);System.out.println(Long.MAX_VALUE);Sys

8、tem.out.println(Long.MIN_VALUE);11注意:注意:byte、short、int、long是原子类型,是原子类型,而而Byte、Short、Integer和和Long分别是四种分别是四种原子类型对应的类类型。原子类型对应的类类型。2.3.1整形类型的变量整形类型的变量(续续)122.3.2字符类型变量字符类型变量Java字符量的长度为字符量的长度为16个位,表示范围个位,表示范围是从是从u0000到到uffff即从即从0到到65535;Character是是char类型对应的类类型类型对应的类类型;最大值最大值Character.MAX_VALUE;最小值最小值Ch

9、aracter.MIN_VALUE;132.3.3浮点类型变量浮点类型变量分类:分类:float和和double。Float、Double是对应的类类型是对应的类类型;Float.MAX_VALUE、Float.MIN_VALUE是最值。是最值。Float.POSITIVE_INFINITY和和Float.NEGATIVE_INFINITY是是正正/负负无无限限大大。142.3.4变量的取值范围变量的取值范围表2-2 整数类型的取值范围类型宽度取值范围long64-92233720368547758089223372036854775807Int32-21474836482147483647s

10、hort16-3276832767byte8-12812715表2-3 浮点类型的取值范围类型位长取值范围F/f321.4012984632481707e-453.40282346638528860e+38D/d644.9406564584124654e-3241.79769313486231570e+308162.3.5布尔类型变量布尔类型变量boolean变量取值:变量取值:true和和false;true和和false不能转换成任何数值表示,不能转换成任何数值表示,true不是不是1,false也不是也不是0。172.3.6缺省初始值缺省初始值在在Java语言中,每语言中,每个变量都有一

11、个数个变量都有一个数值,不存在没有值值,不存在没有值的变量。如果一个的变量。如果一个变量在定义前没有变量在定义前没有被初始化,系统自被初始化,系统自动赋给其初始值动赋给其初始值类型缺省初始值Byte(byte)0Short(short)0Int0Long0LFloat0.0fDouble0.0dcharu0000booleanfalse182.3.7类型转换类型转换类型转换可分为自动类型转换、强制类型转换两类型转换可分为自动类型转换、强制类型转换两种。种。自动类型转换自动类型转换各类型从低级到高级的顺序为:各类型从低级到高级的顺序为:byteshortcharintlongfloatdoubl

12、e。自动。自动类型转换规则为:类型转换规则为:(1)(byte或或short)和和intint。(2)(byte或或short或或int)和和longlong。(3)(byte或或short或或int或或long)和和floatfloat。(4)(byte或或short或或int或或long或或float)和和doubledouble。(5)char和和intint。192.3.7类型转换类型转换源类型目标类型byteshortintlongfloatdoublecharbooleanbyteCCCCCXXshortC,LCCCCXXintC,LC,LCC,LCXXlongC,LC,LC,LC

13、,LC,LXXfloatC,LC,LC,LC,LC,LXXdoubleC,LC,LC,LC,LC,LXXcharC,LCCCCCXbooleanXXXXXXX 强制类型转换:(type)变量;202.3.8原子类型变量的生存空间原子类型变量的生存空间一个变量的生存空间是由两个大括号决定的一个变量的生存空间是由两个大括号决定的范范围。下列写法在围。下列写法在C/C+中是正确的,但在中是正确的,但在Java中是错误的中是错误的(注意注意)。intx=1;intx=0;/错误错误212.4变量赋值问题变量赋值问题如果类中定义的原子类型变量,未给出如果类中定义的原子类型变量,未给出初值,那么它们将有缺

14、省值初值,那么它们将有缺省值:byte、short、int和和long变量的缺省值是变量的缺省值是0;char、float、double和和boolean变量的缺变量的缺省值分别是省值分别是u0、0.0f、0.0d和和false。方法内定义的局部变量,应当对其赋值,方法内定义的局部变量,应当对其赋值,否则无法通过编译否则无法通过编译。例如:。例如:222.4变量赋值问题变量赋值问题如果类中定义的原子类型变量,未给出如果类中定义的原子类型变量,未给出初值,那么它们将有缺省值初值,那么它们将有缺省值:byte、short、int和和long变量的缺省值是变量的缺省值是0;char、float、do

15、uble和和boolean变量的缺变量的缺省值分别是省值分别是u0、0.0f、0.0d和和false。方法内定义的局部变量,应当对其赋值,方法内定义的局部变量,应当对其赋值,否则无法通过编译否则无法通过编译。例如:。例如:23/程序程序2-4classTest/定义一个类定义一个类intValue;/类中的变量未赋值,缺省就是类中的变量未赋值,缺省就是0publicclassTest_Varpublicstaticvoidmain(Stringargs)intx=100;/必须赋值,否则无法通过编译必须赋值,否则无法通过编译Testobj=newTest();/对象赋值对象赋值System.o

16、ut.println(obj.Value+x);242.5Java中的参数传递方式中的参数传递方式Java的参数传递的形式有两种:基本类的参数传递的形式有两种:基本类型按值传递,对象类型按引用传递;型按值传递,对象类型按引用传递;通过通过returnreturn语句从方法中返回时,基本语句从方法中返回时,基本类型总是以值的方式返回,而对象总是类型总是以值的方式返回,而对象总是以引用方式返回。以引用方式返回。例如程序例如程序2-8 2-8:25classtestintx;publicclassTest_Parasstatictestfun(testo,inty)o.x=20;y=1;return

17、o;publicstaticvoidmain(Stringargs)testobj1,obj2;intVal=3;obj1=newtest();obj1.x=100;obj2=fun(obj1,Val);System.out.println(obj1.x+obj2.x+Val);运行结果:运行结果:20203262.6Java的运算符的运算符主要包括:主要包括:算术运算符、关系运算符、逻辑运算符、算术运算符、关系运算符、逻辑运算符、位运算符和三元条件运算符位运算符和三元条件运算符。272.6.1算术运算符算术运算符算术运算符:算术运算符:+、-、*、/、%、+和和-,与与C/C+基本相同。基本

18、相同。%运算符不但可以对整形数据运算,而且运算符不但可以对整形数据运算,而且可以对浮点型数据运算。可以对浮点型数据运算。例如:例如:3.14%2.5的值约等于的值约等于0.64;282.6.2关系运算符关系运算符关关系系运运算算符符不不能能同同其其它它类类型型的的变变量量一一同同参参与与运运算算,例例如如假假设设a,b,c是是三三个个整整形形的的变变量,那么量,那么a=b=c就就是错误的是错误的;关关系系运运算算符符用用于于对对象象时时,是是判判别别两两个个引引用用是否代表同一个对象。例如:是否代表同一个对象。例如:29classnumberintx;publicclassrelational

19、Operatorpublicstaticvoidmain(Stringargs)numbern1,n2;n1=newnumber();n2=newnumber();n1.x=1;n2.x=1;if(n1.x=n2.x)System.out.println(对象的数据成员对象的数据成员x相等!相等!);if(n1=n2)System.out.println(n1和和n2是一个对象!是一个对象!);elseSystem.out.println(n1和和n2不是一个对象!不是一个对象!);302.6.3逻辑运算符逻辑运算符逻辑运算符有逻辑运算符有&、|和和!,分别是与、或,分别是与、或和非。运算结果

20、是和非。运算结果是true或或false;逻辑运算有求值逻辑运算有求值“短路短路”现象现象,例如,例如程程序序2-11:31publicclassshortCutstaticbooleantestOne(intx)System.out.println(x+1+(x1);returnx1;staticbooleantestTwo(intx)System.out.println(x+1+(x2);returnx2;publicstaticvoidmain(Stringargs)if(testOne(6)&testTwo(1)System.out.println(表达式为真表达式为真);elseSy

21、stem.out.println(表达式为假表达式为假);322.6.4位运算符位运算符位运算位运算符:符:&、|、,分别分别称为位与、或、异或、左移、右移称为位与、或、异或、左移、右移;Java引入一个专门用于逻辑右移运算符引入一个专门用于逻辑右移运算符,它采用了所谓的零扩展技术,不论,它采用了所谓的零扩展技术,不论原值是正或负,一律在高位补原值是正或负,一律在高位补0。例如:例如:inta=-2,b;b=a30;332.6.5三元条件运算符三元条件运算符语法格式:语法格式:(exp)?(exp1):(exp2);Java要求:要求:(exp1)与与(exp2)必须同类型必须同类型。342.6.6“+”运算符运算符JavaJava对对“+”“+”进行了重载,可以将任何类型的对进行了重载,可以将任何类型的对象(包含原子类型)转化为象(包含原子类型)转化为String类型。类型。例如:例如:intx=1;charch=A;doubled=9.8;System.out.println(Result:+x+ch+9.8);35高低 ()+-!*/%+-=!=&|&|?:=+=-=*=%/=%=|&=!=36上机练习上机练习:P3546题。题。37

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁