ch3运算符表达式和语句sth

上传人:san****019 文档编号:70777430 上传时间:2019-01-18 格式:PPT 页数:34 大小:377.31KB
返回 下载 相关 举报
ch3运算符表达式和语句sth_第1页
第1页 / 共34页
ch3运算符表达式和语句sth_第2页
第2页 / 共34页
ch3运算符表达式和语句sth_第3页
第3页 / 共34页
ch3运算符表达式和语句sth_第4页
第4页 / 共34页
ch3运算符表达式和语句sth_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《ch3运算符表达式和语句sth》由会员分享,可在线阅读,更多相关《ch3运算符表达式和语句sth(34页珍藏版)》请在金锄头文库上搜索。

1、3.1 运算符与表达式 3.2 语句概述 3.3 控制语句 3.4 循环语句 3.5 break和continue语句,CH 3 运算符、表达式和语句,Java 提供了丰富的运算符,如算术运算符、关系运算符符、逻辑运算符、位运算符等。本节将介绍大部分运算符。,3.1 运算符与表达式,用算术符号和括号连接起来的符合java语法规则的式子,称为算术表达式,如x+2*y-30+3*(y+5)。 加减运算符:+,-,加减运算符的结合方向是从左到右。,加减运算符的优先级是4级。 乘,除和求余运算符:*,/,%,运算符的结合方向是从左到右.乘除运算符的操作元是整型或浮点型数据。*,/,%运算符的优先级是3

2、级。 算术混合运算的精度 精度从“底”到“高”排列的顺序是: byte short int long float double Java将按运算符两边的操作元的最高精度保留结果的精度,例如: 5/2的结果是2,要想得到2.5,必须写成5.0/2或5.0f/2。,1 算术运算符与表达式,自增,自减运算符:+,-,自增、自减运算符是单目运算符,可以放在操作元之前,也可以放在操作元之后。操作元必须是一个整型或浮点型变量。作用是使变量的值增1或减1 +x(-x)表示在使用x之前,先使x的值加(减)。 x+(x-)表示在使用x之后,使x的值加(减)1。,3算术混合运算的精度,Java将按运算符两边的操作

3、元的最高精度保留结果的 精度,例如: 5/2的结果是2,要想得到2.5,必须写成5.0/2或5.0f/2。 char型数据和整型数据运算结果的精度是int。例如: byte x=7; 那么 B+x; 的结果是int型,因此下列写法是不正确的, char ch=B+x; 应当写成: char ch=(char)(B+x);,关系运算符:,8,(x+y)80。,4关系运算符与关系表达式,逻辑运算符与逻辑表达式,逻辑运算符包括:&,|,!。其中&、|为双目运算符,实现逻辑与、逻辑或;!为单目运算符,实现逻辑非。逻辑运算符的操作元必须是boolean型数据 ,逻辑运算符可以用来连接关系表达式。例如,2

4、8&92的结果为false,28|92的结果为true。,6赋值运算符与赋值表达式,赋值运算符:=。 赋值运算符是双目运算符,左面的操作元必须是变量,不能是常量或表达式。设x是一个整型变量,y是一个boolean型变量,x=20和y = true都是正确的赋值表达式,赋值运算符的优先级较低,是14级,结合方向右到左。赋值表达式的值就是“=”左面变量的值。注意不要将赋值运算符“=”与等号运算符“=”混淆。,7位运算符,“&”是双目运算符,对两个整型数据a,b按位进行运算,运算结果是一个整型数据c。运算法则是:如果a,b两个数据对应位都是1,则c的该位是1,否则是0。 “|”是双目运算符。对两个整

5、型数据a,b按位进行运算,运算结果是一个整型数据c。运算法则是:如果a,b两个数据对应位都是0,则c的该位是0,否则是1。 “”是单目运算符。对一个整型数据a按位进行运算,运算结果是一个整型数据c。运算法则是:如果a对应位都是0,则c的该位是1,否则是0。 “”是双目运算符。对两个整型数据a,b按位进行运算,运算结果是一个整型数据c。运算法则是:如果a,b两个数据对应位相同,则c的该位是0,否则是1。,8instanceof 运算符,该运算符是双目运算符,左面的操作元是一个对象;右面是一个类。当左面的对象是右面的类创建的对象时,该运算符运算的结果是true ,否则是false。,Java的表达

6、式就是用运算符连接起来的符合Java规则的式子。运算符的优先级决定了表达式中运算执行的先后顺序。例如,xy&!z相当于(xy)&(!z),没有必要去记忆运算符号的优先级别,在编写程序时可尽量的使用括号()运算符号来实现想要的运算次序,以免产生难以阅读或含糊不清的计算顺序。运算符的结合性决定了并列相同级别的运算符的先后顺序,例如,加减的结合性是从左到右,8-5+3相当于(8-5)+3。逻辑否运算符!的结合性是右到左,!x 相当于!(!x)。,9运算符综述,运算符的优先级,3.2 语句概述,Java里的语句可分为以下五类: 1方法调用语句 2表达式语句 3复合语句 4控制语句 5package 语

7、句和 import语句,3.3 控制语句,Java 语言的控制语句有2种类型: 条件语句 switch开关语句。,1条件控制语句,if 语句的一般形式: if (表达式) 若干语句; ,if-else 语句的一般形式: if (表达式) 若干语句; else 若干语句; ,2 switch开关语句,switch 语句是多分支的开关语句,它的一般格式定义如下(其中break语句是可选的): switch(表达式) case 常量值1: 若干个语句 break; case 常量值2: 若干个语句 break; . case 常量值n: 若干个语句 break; default: 若干语句 ,3.4

8、 循环语句,1for循环语句 for 语句是java程序设计中最有用的循环语句之一,for语句的格式如下: for(表达式1;表达式2;表达式3) 若干语句 ,2while 循环 一般格式: while(表达式) 若干语句 3do-while循环 一般格式: do 若干语句 while(表达式);,3.5 break和continue语句,break和continue语句是指用关键break或continue加上分号构成的语句,例如: break; 在循环体中可以使用break语句和continue语句。在一个循环中,比如循环50次的循环语句中,如果在某次循环中执行了break语句,那么整个循

9、环语句就结束。如果在某次循环中执行了continue语句,那么本次循环就结束,即不再执行本次循环中循环体中continue语句后面的语句,而转入进行下一次循环。,例3-1 :产生一个0100间的随机数整数,判断其值是否超过60,如果在5559之间,则加到60。 使用方法:Math.random()可以产生一个双精度型(0,1)的随机数。,public class ran3_1 public static void main(String args) int s,t; s=(int)(Math.random()*100); if (s=60) System.out.println(“其值超过60

10、:”+s); else if (s55) t=60-s; System.out.println(“其值小于60,加”+t+“分”); else System.out.println(“其值小于60:”+t); ,例3-2 :打印2100间的素数。,public class prime public static void main(String args) int i=1,j; next_n: while (i=100) i+; for (j=2;ji;j+) if (i%j = 0) continue next_n; System.out.println(i); ,例3-3 : 1.生成10

11、0个0-99之间的随机整数,找出它们之间的最大者和最小者,并且统计大于60的整数个数。(java.lang.Math public static double random() ) 分析: a. 生成1个0-99之间的随机整数 int temp=(int)(Math.random()*100) b. 有循环结构 c. 记录最大者、最小者、大于60的整数个数的三个整数,范例: public class randomTestDemo public static void main(String args) int sum=0,MAXofvalue,MINofvalue; int seed,i; M

12、AXofvalue=(int)(Math.random()*100); MINofvalue=(int)(Math.random()*100); System.out.print(MAXofvalue+“ “); System.out.print(MINofvalue+“ “); if (MINofvalueMAXofvalue) seed=MINofvalue; MINofvalue=MAXofvalue; MAXofvalue=seed; for (i=0;i 98;i+) seed=(int)(Math.random()*100); System.out.print(seed+(i+2)

13、%10=9?“n“:“ “);,if (seedMAXofvalue) MAXofvalue=seed; else if (seed= 60) sum+; System.out.println(“the MAX random integers is “+MAXofvalue); System.out.println(“the MIN random integers is “+MINofvalue); System.out.println(“the number of random integers more than 60 is “+sum); ,第一个和第二个数与60的关系如何?,问题: 结

14、果可能不对!,改写: public class randomTestDemo2 public static void main(String args) int sum=0,MAXofvalue=0,MINofvalue=99; int seed,i; for (i=0;i MAXofvalue) MAXofvalue=seed; else if (seed= 60) sum+; System.out.println(“the MAX random integers is “+MAXofvalue); System.out.println(“the MIN random integers is

15、 “+MINofvalue); System.out.println(“the number of random integers more than 60 is “+sum); ,补: 程序的格式 Application 输入语句 (直接赋值) 处理语句 (Java语法) 输出语句 (System.out),Add: read data to Java application program use java.util.Scanner In the Java program: 1. import java.util.*; or import java.util.Scanner; 2. Scanner myInputData=new Scanner(System.in);,3. myInputData.nextInt( ) read int data myInputData.nextByte( ) read byte data myInputData.nextShort( ) read short data myInputData.nextLong( ) read long data myInputData.nextDouble( ) read double data myInputData.nextFloat(

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号