第3章运算符、表达式与语句.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《第3章运算符、表达式与语句.ppt》由会员分享,可在线阅读,更多相关《第3章运算符、表达式与语句.ppt(38页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第3章运算符、表达式与语句,本章导读1. 算术运算符和算术表达式2. 关系运算符与关系表达式3. 逻辑运算符与逻辑表达式4. 赋值运算符与赋值表达式5. 移位运算符6. 位运算符7. 条件运算符8. instanceof 运算符,9. 一般表达式10. 语句概述11. 分支语句12. 循环语句13. 跳转语句,3.1 算术运算符和算术表达式,(1)加减运算符 加减运算的结合性是从左到右。加减运算的操作元是整型或浮点型数据,加减运算符的优先级是4级。(2)乘、除和求余运算符 乘、除和求余运算的运算符号为*、/、%,都是双目运算符。*、/、%运算符的结合性是从左到右,例如:2*3/8,先计算2*3
2、,然后再将得到的结果除以8。乘、除和求余运算的操作元是整型或浮点型数据。*、/、%运算符的优先级是3级。,(3)自增、自减运算符 自增、自减运算的运算符号为:+、-,都是单目运算符,运算符的优先级是2级。运算符可以放在操作元之前,也可以放在操作元之后,但操作元必须是一个整型或浮点型变量(不能是常量或表达式)。运算符的作用是使变量的值增1或减1,如: +x,-x表示在使用x之前,先使x的值加(减)1。 x+,x-表示在使用x之后,使x的值加(减)1。 粗略地看,+x和x+的作用相当于x=x+1。但+x和x+的不同之处在于,+x是先执行x=x+1再使用x的值,而x+是先使用x的值再执行x=x+1。
3、如果 x的原值是5,则: 对于y=+x;y的值为6。 对于y=x+;y的值为5,然后x的值变为6。,(4)算术表达式 用算术符号和操作元连接起来的符合Java语法规则的式子,称为算术表达式。如 x+2*y-30+3*(y+5) -12+n+(-n)。(5)算术混合运算的精度 精度从“低”到“高”排列的顺序是: byte short int long float double Java将按运算符两边的操作元的最高精度保留结果的精度,例如:5/2的结果是2,要想得到2.5,必须写成5.0/2或5.0f/2。,char型数据和整型数据运算结果的精度是int。例如:byte k=18; 那么 H+k;
4、的结果是int型,因此下列写法是不正确的,char ch=H+k;应当写成:char ch=(char)(H+k);,返回,3.2 关系运算符与关系表达式,关系运算符用来比较两个值的关系,关系运算符的运算结果是boolean型数据,当运算符对应的关系成立时,运算结果是true,否则是false。 (1)大小关系运算符 大小关系运算的符号分别是:、=、1的结果是true。在书写时要特别注意的是“20-17的结果为true,因为算术运算符的级别高于关系运算符,1020-17相当于10(20-17)。,(2)等与不等关系 等与不等关系运算的符号分别是:“=”、“!=”,都是双目运算符。运算符的级别是
5、7级。“=”和“!=”都是由2个字符组成的一个完整的符号,书写时不要含有空格。注意不要将后面讲述的赋值运算符“=”与等号运算符“=”混淆。 (3)关系表达式 结果为数值型的变量或表达式可以通过关系运算符形成关系表达式。例如,2418,(x+y+z)30+x等。,返回,3.3 逻辑运算符与逻辑表达式,逻辑运算用来实现boolean型数据的逻辑“与”、“或”和“非”运算,运算结果是boolean型数据。 (1)逻辑“与”和逻辑“或” 逻辑“与”和逻辑“或”运算的符号是:&、|,是双目运算符,操作元是boolean型的变量或求值结果是boolean型数据的表达式。“&”的运算法则是:当2个操作元的值
6、都是true时,运算结果是true,否则是false。“|”的运算法则是:当2个操作元的值都是flase时,运算结果是false,否则是true。“&”和“|”的级别分别是11和12级,结合性是左到右。例如,18&92的结果为false,18|62的结果为true。由于关系运算符的级别高于&和|的级别,所以,18&92相当于(18)&(92)。,逻辑运算符“&”和“|”也称做短路逻辑运算符。进行 op1&op2运算时,如果op1的值是false,“&”运算符在运算 时不再去计算op2的值,直接就得出op1&op2的结果是false。当op1的值是true时,“|”运算符在运算时不再去计算op2
7、的值,直接就得出op1|op2的结果是true。 (2)逻辑“非” 逻辑“非”运算的符号是:!,是单目运算符,操作元在左面。当操作元的值是TURE时,运算结果是FALSE;反之为TURE。“!”的运算级别是2级,结合性从右到左。例如,!X 相当于!(!X)。 (3)逻辑表达式 结果为boolean型的变量或表达式可以通过逻辑运算符形成逻辑表达式。例如,2418&40,x!=0|y!=0。,返回,3.4 赋值运算符与赋值表达式,赋值运算符:=。 赋值运算符是双目运算符,左面的操作元必须是变量,不能是常量或表达式。设x是一个整型变量,y是一个boolean型变量,x=120和y =false都是正
8、确的赋值表达式,赋值运算符的优先级较低,是14级,结合方向右到左。赋值表达式的值就是“=”左面变量的值。注意不要将赋值运算符“=”与等号运算符“=”混淆。,返回,3.5 移位运算符,移位运算符用来对二进制位进行移位操作,分为左移位操作和右移位操作。 (1)左移位运算符 左移位运算的符号为:,是双目运算符。左移位运算符左面的操作元称作被移位数,右面的操作数称作移位量,操作元必须是整型类型的数据。 假设a是一个被移位的整型数据,n是位移量。 an运算的结果是通过将a的所有位都左移n位,每左移一个位,左边的高阶位上的0或1被移出丢弃,并用0填充右边的低位。,对于byte或short型数据,an的运算
9、结果是int型精度。当进行 a2 运算时,计算系统首先将a升级为int型数据,对于正数将高位用0填充;负数用1填充,然后在进行移位运算。例如,对于 byte a=-8; 1111 1000 在进行a1运算时,首先将1111 1000生级为int型,将高位用1填充: 1111 1111 1111 1111 1111 1111 1111 1000 然后在进行移位运算得到-16: 1111 1111 1111 1111 1111 1111 1111 0000,因此,如果把a1的结果赋值给一个byte型变量就必须进行强制转换运算: byte b=(byte)(a1); 在进行an运算时,如果a是byt
10、e、short或int型数据,系统总是先计算出n%32的结果m,然后进行am运算。例如,a33的计算结果与a1相同。对于long型数据,系统总是先计算出n%64的结果m,然后进行a,是双目运算符。假设a是一个被移位的整型数据,n是位移量。 an运算的结果是通过将a的所有位都右移n位,每右移一个位,右边的低阶位被移出丢弃,并用0或1填充左边的高位,a是正数用0填充,负数时用1填充。因此,a每右移一次,如果该数的每一计算有效位都没有从低位移出时,就相当于将a除以2并舍弃了余数。正数不断右移位的最后结果一定是0,而负数不断右移位的最后结果是-1。 对于byte或short型数据,an的运算结果是in
11、t型精度。,在进行an运算时,如果a是byte、short或int型数据,系统总是先计算出n%32的结果m,然后进行am运算,例如,a33的计算结果与a1相同。 对于long型数据,系统总是先计算出n%64的结果m,然后进行am运算。 在下面的例子1中,用户输入移位运算的两个操作元,程序给出右移和左移后的结果。,返回,3.6 位运算符,(1)“按位与”运算符 “&”是双目运算符,对两个整型数据a、b按位进行运算,运算结果是一个整型数据c。运算法则是:如果a、b两个数据对应位都是1,则c的该位是1,否则是0。如果b的精度高于a,那么结果c的精度和b相同。 (2)“按位或”运算符 “|”是双目运算
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 运算 表达式 语句
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内