面向对象程序设计-运算符表达式.ppt

上传人:牧羊曲112 文档编号:6034425 上传时间:2023-09-16 格式:PPT 页数:26 大小:249.13KB
返回 下载 相关 举报
面向对象程序设计-运算符表达式.ppt_第1页
第1页 / 共26页
面向对象程序设计-运算符表达式.ppt_第2页
第2页 / 共26页
面向对象程序设计-运算符表达式.ppt_第3页
第3页 / 共26页
面向对象程序设计-运算符表达式.ppt_第4页
第4页 / 共26页
面向对象程序设计-运算符表达式.ppt_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《面向对象程序设计-运算符表达式.ppt》由会员分享,可在线阅读,更多相关《面向对象程序设计-运算符表达式.ppt(26页珍藏版)》请在三一办公上搜索。

1、面向对象程序设计运算符表达式,教师:张立涓,上节内容回顾,判断下列叙述是否正确1.可以使用汉字作为java程序标识符2.标识符必须以美元符号、字母、下划线开头3.byte、short、int、long数据类型所占字节数分别为 1、2、4、84.声明实型变量float f=1.2345;5.声明布尔型变量boolean b=1;,数据类型,本节课主要内容,理论:运算符:算术运算符、关系运算符、布尔运算符、移位运算符 表达式 数据类型转换实例:编写java应用程序输出20002020年之间的所有闰年,算术运算符,算术运算符,分析下列两个程序片断的运行结果:,int a=5;int b=2;int

2、c;c=a/b;System.out.println(c=+c);,float a=5f;float b=2f;float c;c=a/b;System.out.println(c=+c);,两个整型数运算的结果是整数两个操作数中只要有一个是浮点数,其结果都是浮点数,+和-运算符及用法,注意:+和-这两个运算符的操作对象只能是变量,而不能用于常量或表达式,如12+或(x+y)+都是不合法的,+和-运算符及用法,int i,j;i=1;j=i+;System.out.println(i=+i);System.out.println(j=+j);,int i,j;i=1;j=+i;System.o

3、ut.println(i=+i);System.out.println(j=+j);,分析下列两个程序片段的执行结果:,j=i+;先执行赋值操作然后执行i+1j=+i;先执行i+1然后执行赋值操作,位运算符,移位运算符,在Java中,定义了三种移位运算:左移运算()和无符号数右移运算()。所谓的“移位”,就是将操作数以“位”为单位,一起向某个方向移动,例如:(000001103)就是各位向左移三位,结果将是00110000。移位运算的操作数必须是整数类型的数据,其余类型的数据是不能使用移位运算的。,关系运算符,关系运算符,1.关系运算符(、=)要求两侧的操作数均为整数类型数据、浮点数类型数据、

4、字符类型数据。2.关系运算符(、=)连接的表达式本身不能是关系表达3.关系运算的结果不能存放在一个非布尔型变量中。,判断下列表达式是否正确xyzint x;x=5 3;,(xy)&(yz),boolean x;,布尔运算符(逻辑运算符),逻辑运算符的操作数必须是boolean型的,&和&的区别,调试运行P26任务2-6程序BoolOperate.java,注意&和&的区别,回答下列问题:1.请解释程序运行结果2.为什么第一条if语句的k+没有执行?,a&b只要a的值为false,那么表达式b就不被运算。a|b 只要a的值为true,那么表达式b就不被运算。,填空完成下列程序:判断2005年是否

5、是闰年,public class LeapYear public static void main(String args)int year=2005;boolean a;a=(year%4=0),判断某一年year是否是闰年闰年的条件是符合下面条件的二者之一:(1)能被4整除,但不能被100整除(2)能被4整除,又能被400整除。,赋值运算符,简单赋值运算符:=c=a+10 x=20*a+100复合赋值运算符:-=+=*=/=%=与C语言一样,Java也提供了很多的复合赋值运算符,是简单赋值表达式的一种缩写。如 x+=10 等价于 x=x+10 x*=10 0等价于 x=x*100,字符串连

6、接运算符,Java 中对运算符“+”进行了重载(就是对同一个运算符赋予了两种以上的含义,在不同的场合可以标记不同的操作。)字符串连接运算符的操作有两种情况:1.字符串+字符串 2.字符串+基本数据类型数据或对象 例如“hello”+”world”结果为“hello world”int c=100;“c=”+c的结果为“c=100”,运算符的优先级(参考课本P31),运算符的优先级,判断下列表达式的执行次序 a=b+c*d/(cd)a|4+cb&7|ba%3 a+b c&d=e,写程序时应该养成一种良好的习惯:除非是非常简单的直观运算,应该尽量使用括号。另外,要尽量不写太长的表达式,过长的表达式

7、容易引起对求值次序的误解。,类型转换-自动类型转换,整型、实型、字符型数据可以混合运算。运算过程中,不同类型的数据会自动转换为同一类型,然后进行运算。自动转换按低级类型数据转换成高级类型数据的规则进行。,自动类型转换,class TypeConvertpublic static void main(String args)int a=4;float b=4.5f;int c=a+b;System.out.println(a+b=+c);,编译下列程序,分析该程序的编译错误,如何修改?,自动类型转换规则,1.(byte或 short)op int int 2.(byte或 short或 int)

8、op long long 3.(byte或 short或 int或 long)op float float 4.(byte或 short或 int或 long或 float)op double double 5.char op int int 其中,箭头左边表示参与运算的数据类型op为运算符(如加、减、乘等)右边表示运算结果的数据类型。参见P30 表2-10,判断f1 i1 d1声明的类型是否正确,byte b=10;char c=a;int i=90;float f=3.5f;double d=1.234;intf1=f*b;Short i1=c+i;int d1=f1/i1-d;,/f1必须是float型或更高级的类型float f1=f*b;/i1必须是int型或更高级的类型int i1=c+i;/d1必须是double类型double d1=f1/i1 d;,强制类型转换,高级数据类型要转换成低级数据类型,需要用到强制类型转换。其一般形式为:(类型名)(表达式)/强制转换后丢失一部分数据,使得b的值为100。一般使用强制类型转换可能会导致数值溢出或精度的下降,应尽量避免。,int i;byte b;i=356;b=(byte)i;,小结,算术运算符关系运算符布尔运算符移位运算符赋值运算符运算符的优先级类型转换,作业,修改程序,输出20002020年之间的所有闰年,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号