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

上传人:牧羊曲112 文档编号:6611407 上传时间:2023-11-17 格式:PPT 页数:43 大小:799KB
返回 下载 相关 举报
运算符、表达式和语句(王宗江).ppt_第1页
第1页 / 共43页
运算符、表达式和语句(王宗江).ppt_第2页
第2页 / 共43页
运算符、表达式和语句(王宗江).ppt_第3页
第3页 / 共43页
运算符、表达式和语句(王宗江).ppt_第4页
第4页 / 共43页
运算符、表达式和语句(王宗江).ppt_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《运算符、表达式和语句(王宗江).ppt》由会员分享,可在线阅读,更多相关《运算符、表达式和语句(王宗江).ppt(43页珍藏版)》请在三一办公上搜索。

1、第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,算术运算符与算数表达式,说明,1加减运算符:+,-加减运算符是二目运算符;加减运算符的结合方向是从左到右;加减运算符的操作元是整型或浮点型数据。2乘、除和求余运算符:*,/,%以上

2、运算符是二目运算符,结合方向是从左到右,乘、除和求余运算符的操作元是整型或浮点型数据。3自增、自减运算符:a+(a-),+a(-a)是单目运算符,可以放在操作元之前,也可以放在操作元之后。操作元必须是一个整型或浮点型变量。作用是使变量的值增1或减1。+a(-a)表示在使用a之前,先使a的值增(减)1。a+(a-)表示在使用a之后,使a的值增(减)1。4 算术表达式:用算术符号和括号连接起来的符合java语法规则的式子,称为算术表达式。,算术混合运算精度,精度从“低”到“高”排列的顺序是:byte short char int long float double Java在计算算术表达式的值时,

3、使用下列计算精度规则:1如果表达式中有双精度浮点数(double型数据),则按双精度进行运算。2如果表达式中最高精度是单精度浮点数(float型数据),则按单精度进行运算。3如果表达式中最高精度是long型整数,则按long精度进行运算。4如果表达式中最高精度低于int型整数,则按int精度进行运算。,运算符-2,关系运算符与关系表达式,说明,关系运算符是二目运算符,用来比较两个值的关系。关系运算符的运算结果是boolean型,当运算符对应的关系成立时,运算结果是true,否则是false。3=2 false 3=2 false(6-5)=(7-6)true,输出:false false tr

4、ue,运算符-3,逻辑运算符与逻辑表达式,说明及示例,(1)其中&、|为二目运算符,实现逻辑与、逻辑或;规则?(2)!为单目运算符,实现逻辑非。(3)逻辑运算符的操作元必须是boolean型数据,逻辑运算符可以用来连接关系表达式。!(32)false(32)&(72)|(76)true,输出:false false true,运算符-4,赋值运算符 赋值运算符为一个单独的等于号“=”,它将值赋给变量。如:,int i=3;,此外赋值运算符可以与算术运算符结合成一个运算符。如:,i+=3;/等效于i=i+3,类似的赋值运算符如下表所示:,注意:不要将赋值运算符“=”与等号逻辑运算符“=”混淆。,

5、运算符-5,位运算符,例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)

6、(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,Instan

7、ceof 运算符,判断某对象是否属于某类?instanceof 运算符是二目运算符,左面的操作元是一个对象;右面是一个类。当左面的对象是右面的类或子类创建的对象时,该运算符运算的结果是true,否则是false。,运算符-综述,运算符优先级,优先级是指同一表达式中多个运算符被执行的次序,在表达式求值 时,先按运算符的优先级由高到低的次序执行。Java中运算符优先级如下表所示。,3.2 语句概述,Java里的语句可分为以下六类:1方法调用语句。如:System.out.println(Hello);2表达式语句 表示式尾加上分号。比如赋值语句:x=23;3复合语句 可以用 把一些语句括起来构成复

8、合语句,如: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

9、 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(布尔表达式)语句序列1else/否则 语句序列2,例子,例2:有 else部分的例子Public class IfTry2 public static void main(String args)int a1=59;if(a1=60)System.

10、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);el

11、se 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:若干语句,3.4 switch 开关语句(续),switch语句的注意点:1.使用switch 语句时,要注意表达式必须是符合byte,char,short,in

12、t类型的表达式,而不能使用浮点类型或long类型,也不能为一个字符串;2.switch语句将表达式的值依次与每个case子句中的常量值相比较。如果匹配成功,则执行该case子句中常量值后的语句,直到遇到break语句为止;3.case子句中常量的类型必须与表达式的类型相容,而且每个case子句中常量的值必须是不同的;4.default子句是可选的,当表达式的值与任一case子句中的值都不匹配时,就执行default后的语句。如果表达式的值与任一case子句中的值都不匹配且没有default子句,则程序不执行任何操作,而是直接跳出switch 语句,进入后续程序段的执行。,3.4 switch

13、开关语句(续),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语

14、句更简练,且可读性强,程序的执行效率也高;9.if-else if 语句可以基于一个范围内的值或一个条件来进行不同的操作,但switch 语句中的每个case 子句都必须对应一个单值。,例子,public class TestSwitchpublic static void main(String args)int grade=100;int x=grade/10;switch(x)case 10:case 9:System.out.println(成绩为优!);break;case 8:System.out.println(成绩为良!);break;case 7:System.out.pri

15、ntln(成绩为中!);break;case 6:System.out.println(成绩为及格!);break;default:System.out.println(真糟糕,不及格!);,3.5 循环语句,循环语句是根据条件,要求程序反复执行某些操作,直到程序“满意”为止。包括如下几种循环:for循环语句 while 循环 do-while循环 注意:循环语句的三个要素,3.5.1 for循环语句,for语句的语法格式:for(表达式1;表达式2;表达式3)循环体 for语句的执行规则是:(1)计算“表达式1(初值表达式),完成必要的初始化工作。(2)判断“表达式2”(条件表达式)的值。若

16、“表达式2”的值为true,则执行循环体,否则结束 for 语句的执行。(3)执行循环体后,计算“表达式3”,以便改变循环条件,转到(2)。,for循环语句例子,例4:加法从1加到100public class T4 public static void main(String args)int sum=0;for(int i=1;i=100;i+)sum=sum+i;System.out.println(结果=+sum);,3.5.2 while循环语句,while语句的语法格式:while(表达式)循环体 while语句的执行规则是:(1)计算表达式的值,如果该值是true时,就进行循环体

17、,否则结束while语句的执行。(2)执行循环体后,转到(1)。(3)一直到结束循环,while 循环语句例子,例5:加法从1加到100public class T5 public static void main(String args)int a=1;int sum=0;while(a=100)sum=sum+a;a+;System.out.println(输出结果=+sum);,3.5.3 do-while循环语句,do-while语句的语法格式:do 循环体 while(表达式)do-while语句的执行规则是:(1)执行循环体,转到(2)。(2)计算表达式的值,如果该值是true时,

18、继续执行循环体,否则结束循环。(3)直到结束循环。,do-while 循环语句例子,例6:加法从1加到100public class T6 public static void main(String args)int a=1;int sum=0;do sum=sum+a;a+;while(a=100);System.out.println(sum=+sum);,3.6 break和continue语句,break和continue语句是用关键break或continue加上分号构成的语句;在循环体中可以使用break语句和continue语句;如果在某次循环中执行了break语句,那么整个循

19、环语句就结束;如果在某次循环中执行了continue语句,那么本次循环就结束,即不再执行本次循环中循环体中continue语句后面的语句,而转入进行下一次循环;break 结束循环;continue 结束本次循环;,使用continue语句例子,例7:求100以内奇数的和public class TestContinuepublic static void main(String args)int sum=0,i;for(i=1;i=100;i+)if(i%2=0)continue;sum+=i;System.out.println(100以内的奇数和是:+sum);,使用 break 语句例

20、子,例8:求50以内的素数public class Testbreak public static void main(String args)int i,j;for(j=2;jj/2)System.out.println(+j+是素数);,3.7 数组与for语句,遍历数组,可以使用for 循环实现!Java提供了更好的方法!for语句可以更好地遍历数组。语法格式如下:for(声明循环变量:数组的名字)循环体 功能:对于循环变量,依次取数组的每一个元素的值。注意:(1)声明的循环变量的类型必须和数组的类型相同。(2)声明的循环变量必须是变量声明,不可用已经声明变量。(3)本功能是JDK1.5

21、版本对for语句的扩充。for(int i:a)System.out.println(i);,使用数组与for语句例子,public class Example3_8 public static void main(String args)int a=1,2,3,4;char b=a,b,c,d;for(int n=0;na.length;n+)/传统方式 System.out.println(an);for(int n=0;nb.length;n+)/传统方式 System.out.println(bn);for(int i:a)/i依次取a的每一个元素值(改进方式)System.out.p

22、rintln(i);for(char ch:b)/ch依次取b的每一个元素值(改进方式)System.out.println(ch);,3.8 枚举类型与for、switch语句,如果有:enum WeekDay sun,mon,tue,wed,thu,fri,sat可以用该枚举类型声明一个枚举变量,该枚举变量只能取值枚举类型中的常量。通过使用枚举名和“.”运算符获得枚举类型中的常量。枚举类型可以用如下形式:枚举类型的名字.values()返回一个数组,该数组元素的值和该枚举类型中的常量依次相对应;如:WeekDay a=WeekDay.values();JDK1.5之后版本可以使用for语句

23、遍历枚举类型中的常量。,枚举类型与for语句例子,enum Color 红,蓝,绿,黄,黑public class Example3_9 public static void main(String args)for(Color a:Color.values()for(Color b:Color.values()for(Color c:Color.values()if(a!=b,枚举类型与switch语句例子,enum Fruit 苹果,梨,香蕉,西瓜,芒果public class Example3_10 public static void main(String args)double p

24、rice=0;boolean show=false;for(Fruit fruit:Fruit.values()switch(fruit)case 苹果:price=1.5;show=true;break;case 芒果:price=6.8;show=true;break;case 香蕉:price=2.8;show=true;break;default:show=false;if(show)System.out.println(fruit+500克的价格:+price+元);,其他应用举例,例12:用for语句实现一个数的阶乘!public class Factorialpublic sta

25、tic long fact(int n)/输入参数n,输出结果是n!long sum=1;for(int i=n;i=1;i-)sum*=i;return sum;public static void main(String args)System.out.println(10的阶乘是:+fact(10);,算术运算符有:+、-、*、/、%、+、-比较运算符有:、=、条件运算符又称三元运算符是“?:”Java提供算术、比较、关系、逻辑等运算符完成复杂数据运算Java的分支语句有if.else,switch.caseJava的循环语句有for,while,do.whileJava的转移语句有break,continue数组与for语句枚举类型与for、switch语句,小结,

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号