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

上传人:tia****nde 文档编号:12707005 上传时间:2020-05-14 格式:PPT 页数:31 大小:66.50KB
返回 下载 相关 举报
Java2-2数据类型、运算符和表达式.ppt_第1页
第1页 / 共31页
Java2-2数据类型、运算符和表达式.ppt_第2页
第2页 / 共31页
Java2-2数据类型、运算符和表达式.ppt_第3页
第3页 / 共31页
点击查看更多>>
资源描述
第2章数据类型、运算符和表达式,2,本章主要内容,常量:包括字面常量和符号表示的常量;变量:整形、浮点型、字符型和布尔型;数组:Java的数组属于类类型;参数传递方式;运算符:包括逻辑运算符、算术运算符和位运算符等;,3,2.1常量,整形常量:采用八进制、十进制、十六进制表示,但不能采用二进制表示,和C/C+中的一样。浮点常量:采用十进制或科学记数法表示。在缺省情况下一个浮点数是double型(3.143.14d3.14f)。布尔常量:true和false,它们不是数,不能进行算术运算。字符常量:与C/C+中的表示类似。字符串常量:Java中字符串常量是对象。,4,2.2变量,变量的命名原则是:以字母(az和AZ)、下划线(_)和$符号开头的,由字母、数字(09)、下划线和$构成的一个符号序列。例如,a,_a,NameOfStudent,$10均是合法变量名,而-a和9a是非法变量名。关键字不能用作变量名(见表2-1)注意:Java对变量是区分大小写.,5,2.2.1整形类型的变量,字节(byte)型,8个位。短整形(short),占16个位。整形(int),占32个位。长整形(longint),占64个位。Java中的整形最值均有符号。例如程序2-1测试最值:,publicclassTest_Int/程序2-1测试整形变量的最值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);System.out.println(Long.MIN_VALUE);,7,注意:byte、short、int、long是原子类型,而Byte、Short、Integer和Long分别是四种原子类型对应的类类型。,2.2.1整形类型的变量(续),8,2.2.2字符类型变量,Java字符量的长度为16个位,表示范围是从u0000到uffff即从0到65535;Character是char类型对应的类类型;最大值Character.MAX_VALUE;最小值Character.MIN_VALUE;,9,2.2.3浮点类型变量,分类:float和double。Float、Double是对应的类类型;Float.MAX_VALUE、Float.MIN_VALUE是最值。Float.POSITIVE_INFINITY和Float.NEGATIVE_INFINITY是正/负无限大。,10,2.2.4布尔类型变量,boolean变量取值:true和false;true和false不能转换成任何数值表示,true不是1,false也不是0。,11,2.2.5原子类型变量的生存空间,一个变量的生存空间是由两个大括号决定的范围。下列写法在C/C+中是正确的,但在Java中是错误的(注意)。intx=1;intx=0;/错误,12,2.3变量赋值问题,如果类中定义的原子类型变量,未给出初值,那么它们将有缺省值:byte、short、int和long变量的缺省值是0;char、float、double和boolean变量的缺省值分别是u0、0.0f、0.0d和false。方法内定义的局部变量,应当对其赋值,否则无法通过编译。例如:,/程序2-4classTest/定义一个类intValue;/类中的变量未赋值,缺省就是0publicclassTest_Varpublicstaticvoidmain(Stringargs)intx=100;/必须赋值,否则无法通过编译Testobj=newTest();/对象赋值System.out.println(obj.Value+x);,14,2.4数组,Java数组是系统定义类Array的子类;数组的分类同C/C+:一维和多维。,15,2.4.1一维数组,定义数组的格式:inta;或inta;其值是null;在定义数组时不能指定大小。a仅是一个引用,代表一个数组名,但没有对应的空间。产生数组空间的方法有两种:在定义时直接赋值:inta=1,2,3;通过new分配空间:inta=newint10;,注意:Java数组名是一个引用,当将一个数组名赋值给另一个数组时,实际上是名字的复制,例如2-5:publicclassTest_Arraypublicstaticvoidmain(Stringargs)inta=1,2,3,b;b=a;for(inti=0;i3;i+)bi+;for(inti=0;i3;i+)System.out.println(ai);,17,2.4.1一维数组(续),获得数组元素的个数:数组名.length;一个整形数组若仅仅采用new分配空间,而没有对其赋值,那么每个元素的值是0。,18,2.4.2二维数组,产生二维数组空间的方法有两种:定义时直接赋值:intb=1,2,3,4;通过new运算符分配空间。二维数组形状任意,不一定是矩形。例如程序2-7:,publicclassTest_Array2publicstaticvoidmain(Stringargs)inta;/定义一个引用aa=newint2;/产生a0和a1两个引用a0=newint3;/给引用a0产生对象a1=newint6;/给引用a1产生对象System.out.println(a的长度=+a.length);System.out.println(a0的长度=+a0.length);System.out.println(a1的长度=+a1.length);,20,2.5Java中的参数传递方式,Java的参数传递的形式有两种:基本类型按值传递,对象类型按引用传递;通过return语句从方法中返回时,基本类型总是以值的方式返回,而对象总是以引用方式返回。例如程序2-8:,classtestintx;publicclassTest_Parasstatictestfun(testo,inty)o.x=20;y=1;returno;publicstaticvoidmain(Stringargs)testobj1,obj2;intVal=3;obj1=newtest();obj1.x=100;obj2=fun(obj1,Val);System.out.println(obj1.x+obj2.x+Val);,运行结果:20203,22,2.6Java的运算符,主要包括:算术运算符、关系运算符、逻辑运算符、位运算符和三元条件运算符。,23,2.6.1算术运算符,算术运算符:+、-、*、/、%、+和-,与C/C+基本相同。%运算符不但可以对整形数据运算,而且可以对浮点型数据运算。例如:3.14%2.5的值约等于0.64;,24,2.6.2关系运算符,关系运算符不能同其它类型的变量一同参与运算,例如假设a,b,c是三个整形的变量,那么a=b=c就是错误的;关系运算符用于对象时,是判别两个引用是否代表同一个对象。例如:,classnumberintx;publicclassrelationalOperatorpublicstaticvoidmain(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不是一个对象!);,26,2.6.3逻辑运算符,逻辑运算符有returnx1;staticbooleantestTwo(intx)System.out.println(x+1+(x2);returnx2;publicstaticvoidmain(Stringargs)if(testOne(6),28,2.6.4位运算符,位运算符:,29,2.6.5三元条件运算符,语法格式:(exp)?(exp1):(exp2);Java要求:(exp1)与(exp2)必须同类型。,30,2.6.6“+”运算符,Java对“+”进行了重载,可以将任何类型的对象(包含原子类型)转化为String类型。例如:intx=1;charch=A;doubled=9.8;System.out.println(Result:+x+ch+9.8);,上机练习:P3146题。,
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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