好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

运算符、表达式和语句(王宗江).ppt

43页
  • 卖家[上传人]:人***
  • 文档编号:605257440
  • 上传时间:2025-05-20
  • 文档格式:PPT
  • 文档大小:799KB
  • / 43 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第3章,运算符、表达式和语句,3.1 运算符与表达式,3.2 语句概述,3.3 if条件分支语句,3.4 开关语句,3.5 循环语句,3.6 break和continue语句,3.7 数组与for语句,3.8 枚举类型与for、switch语句,主要内容,3.1 运算符与表达式,对数据进行运算时,需要使用各种不同的运算符,在Java语言中,运算符分为下面几类:,算术运算符,关系运算符,逻辑运算符,赋值运算符,位运算符,条件运算符,运算符-1,算术运算符与算数表达式,运算符,数学含义,示例,运算符,数学含义,示例,+,加,a+b,%,取模,a%b,-,减或负号,a-b,-b,+,自增,a+,+a,*,乘,a*b,-,自减,a-,-a,/,除,a/b,说明,1加减运算符:+,-,加减运算符是二目运算符;加减运算符的结合方向是从左到右;加减运算符的操作元是整型或,浮点型数据2乘、除和求余运算符:*,/,%,以上运算符是二目运算符,结合方向是从左到右,乘、除和求余运算符的操作元是整型或浮点型,数据3自增、自减运算符:a+(a-),+a(-a),是单目运算符,可以放在操作元之前,也可以放在操作元之后。

      操作元必须是一个整型或浮点型,变量作用是使变量的值增1或减1a(-a)表示在使用a之前,先使a的值增(减)1a+(a-)表示在使用a之后,使a的值增(减)14 算术表达式:用算术符号和括号连接起来的符合java语法规则的式子,称为算术表达式算术混合运算精度,精度从“低”到“高”排列的顺序是:,byte short char int long float double,Java在计算算术表达式的值时,使用下列计算精度规则:,1如果表达式中有双精度浮点数(double型数据),则按双精度进行,运算2如果表达式中最高精度是单精度浮点数(float型数据),则按单精,度进行运算3如果表达式中最高精度是long型整数,则按long精度进行运算4如果表达式中最高精度低于int型整数,则按int精度进行运算运算符-2,关系运算符与关系表达式,运算符,数学含义,示例,运算符,数学含义,示例,大于,ab,=,大于等于,a=b,小于,ab,=,小于等于,a=a,=,等于,a=b,说明,关系运算符是二目运算符,用来比较两个值的关系关,系运算符的,运算结果是boolean型,,当运算符对应的关,系成立时,运算结果是,true,,否则是,false,。

      32),false,(32)&(72)|(76),true,输出:,false,false,true,运算符-4,赋值运算符,赋值运算符为一个单独的等于号“=”,它将值赋给变量如:,int i=3;,此外赋值运算符可以与算术运算符结合成一个运算符如:,i+=3;/等效于i=i+3,运算符,示例,运算符,示例,+=,a+=b,/=,a/=b,-=,a-=b,%=,a%=b,*=,a*=b,类似的赋值运算符如下表所示:,注意:,不要将赋值运算符“=”与等号逻辑运算符“=”混淆运算符-5,位运算符,运算符,数学含义,说明,示例,按位非(NOT),按位非也叫做补,一元运算符NOT“”是对其运算数的,每一位取反00101010,=11010101,&,按位与(AND),按位与运算符“&”,,如果两个运算数都是1,则结果为1,其他情况下,结果均为零00101010&00001111=00001010,|,按位或(OR),按位或运算符“|”,,任何一个运算数为1,则结果为100101010|00001111=00101111,按位异或(XOR),按位异或运算符“”,只有在,两个比较的位不同时其结果是1。

      0 0=0 1 1=0,0 1=1,左移,value num左移运算符使指定值的所有位都左移num位每左移一个位,,高阶位都被移出,(并且丢弃),,并用0填充右边11111000,右移,右移运算符使指定值的所有位都右移num位当值中的某些位被“移出”时,这些位的值将丢弃右移时,被移走的最高位(最左边的位)由,原来最高位的数字,补充11111000 1,=11111100,无符号右移,无符号右移运算符使指定值的所有位都右移num位当值中的某些位被“移出”时,这些位的值将丢弃右移时,被移走的最高位(最左边的位)固定由,0,补充11111000 1,=01111100,例3.1,public class Example3_1,public static void main(String args),char a1=中,a2=国,a3=科,a4=大;,char secret=A;,a1=(char)(a1secret);,a2=(char)(a2secret);,a3=(char)(a3secret);,a4=(char)(a4secret);,System.out.println(密文:+a1+a2+a3+a4);,a1=(char)(a1secret);,a2=(char)(a2secret);,a3=(char)(a3secret);,a4=(char)(a4secret);,System.out.println(原文:+a1+a2+a3+a4);,运算符-6,条件运算符,条件运算符是三元运算符,语法格式为:,?e1 :e2,表达式值的类型为布尔类型,若表达式的值为真,则返回e1的值,表达式的值为假,则返回e2的值。

      示例,public class ThreeOP,public static void main(String args),int num1=3,num2=6;,boolean result=,(num1 num2)?true:false,;,System.out.println(result);,演示结果:,false,运算符-7,Instanceof 运算符,判断某对象是否属于某类?,instanceof 运算符,是二目运算符,左面的操作元是一个,对象,;右面是一个,类,当左面的对象是右面的类或子类创建的对象时,该运算符运算的结果是true,否则是false运算符-综述,运算符优先级,优先次序,运算符,优先次序,运算符,1,.(),9,&,2,+-!instanceof,10,3,new(type),11,|,4,*/%,12,&,5,+-,13,|,6,=,优先级是指同一表达式中多个运算符被执行的次序,在表达式求值 时,先按运算符的优先级由高到低的次序执行Java中运算符优先级如下表所示3.2 语句概述,Java里的语句可分为以下六类:,1方法调用语句如:System.out.println(Hello);,2表达式语句 表示式尾加上,分号,。

      比如赋值语句:x=23;,3复合语句,可以用 把一些语句括起来构成复合语句,如:,z=123+x;,System.out.println(How are you);,4空语句一个分号也是一条语句,称做空语句5控制语句控制语句分为条件分支语句、开关语句和循环语句6package语句和 import语句它们和类、对象有关,将在第4章讲解3.3 if条件分支语句,条件分支语句按着语法格式可细分为三种形式:,if,语句,if-else,语句,If-else if-else,语句,3.3.1 if 语句,If 语句是单条件分支语句,,即根据一个条件来控制程序执行的流程if,条件语句的基本语法格式:,if,(布尔表达式),若干语句,例子,例1:没有 else部分的例子,Public class IfTry,public static void main(String args),int a1=95;,if(a1=90),System.out.println(祝贺你,你获得奖学金!);,3.3.2 if-else语句,if-else,语句是,双条件,分支语句,即根据一个条件来控制程序执行的流程if-else,条件语句基本语法格式:,if,(布尔表达式),语句序列,1,else /,否则,语句序列,2,例子,例2:有 else部分的例子,Public class IfTry2,public static void main(String args ),int a1=59;,if(a1=60),System.out.println(你及格了!);,else,System.out.println(你没及格,请继续努力!);,3.3.3 if-else if-else 语句,if-,else if,-else 语句是,多条件,分支语句,即根据,多个条件,来控制程序执行的流程。

      if(表达式),若干语句,else if(表达式),若干语句,else,若干语句,例子,public class T1,public static void main(String args),int a=10;,if(a30),System.out.println(a30);,else if(a20),System.out.println(a20);,else if(a10),System.out.println(a10);,else if(a0),System.out.println(a0);,3.4 switch开关语句,switch 语句是,单条件多分支,的开关语句,它的一般格式定义如下(其中,default语句是可选的),switch(表达式),case 常量值1:,语句系列1,break;,case 常量值2:,语句系列2,break;,.,case 常量值n:,语句系列n,break;,default:,若干语句,表达式,break,语句1,break,语句2,break,语句n,break,缺省处理语句,后续语句,常量1,常量2,常量n,default,.,3.4 switch 开关语句(续),switch语句的注意点:,1.使用switch 语句时,要注意表达式必须是符合byte,char,short,int类型的表达式,而不能使用浮点类型或,long,类型,也不能为一个字符串;,2.switch语句将表达式的值依次与每个case子句中的常量值相比较。

      如果匹配成功,则执行该case子句中常量值后的语句,,直到遇到break语句为止;,3.case子句中常量的类型必须与表达式的类型相容,而且每个case子句中常量的值必须是不同的;,4.,default,子句是可选的,当表达式的值与任一case子句中的值都不匹配时,就执行default后的语句如果表达式的值与任一case子句中的值都不匹配且没有default子句,则程序不执行任何操作,而是直接跳出switch 语句,进入后续程序段的执行3.4 switch 开关语句(续),5.,break,语句用来在执行完一个case 分支后,使程序跳出switch 语句,执行switch 语句的后续语句6.在一些特殊的情况下,例如多个不同的case值要执行一组相同的操作,语句序列可以只出现一次,如:,switch(MyGrade),case A:,case B:,case C:,case D:MyGrade=“及格!”;,break;,default:MyGrade=“不及格”;,3.4 switch 开关语句(续),7.case 分支中包括多个执行语句时,可以不用花括号“”括起;,8.通过if-else if 语句可以实现switch 语句所有的功能。

      但通常使用switch语句更简练,且可读性强,程序的执行效率也高;,9.if-else if 语句可以,基于一个范围内的值,或,一个条件,来进行不同的操作,但switch 语句中的每个case 子句都必须,对应一个单值,例子,public class TestSwitch,pub。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.