Java面向对象程序设计 教学课件 ppt 作者 王爱国 3-讲 表达式和语句

上传人:E**** 文档编号:89156134 上传时间:2019-05-19 格式:PPT 页数:30 大小:312.51KB
返回 下载 相关 举报
Java面向对象程序设计 教学课件 ppt 作者 王爱国 3-讲 表达式和语句_第1页
第1页 / 共30页
Java面向对象程序设计 教学课件 ppt 作者 王爱国 3-讲 表达式和语句_第2页
第2页 / 共30页
Java面向对象程序设计 教学课件 ppt 作者 王爱国 3-讲 表达式和语句_第3页
第3页 / 共30页
Java面向对象程序设计 教学课件 ppt 作者 王爱国 3-讲 表达式和语句_第4页
第4页 / 共30页
Java面向对象程序设计 教学课件 ppt 作者 王爱国 3-讲 表达式和语句_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《Java面向对象程序设计 教学课件 ppt 作者 王爱国 3-讲 表达式和语句》由会员分享,可在线阅读,更多相关《Java面向对象程序设计 教学课件 ppt 作者 王爱国 3-讲 表达式和语句(30页珍藏版)》请在金锄头文库上搜索。

1、第3章 运算符和语句,运算符 Java语句,1.运算符,运算符规定了数据计算的规则。运算符有两种分类方法:按运算符功能分类、按运算符连接数据个数分类。 运算符按功能分为7种:赋值运算符、算术运算符、关系运算符、逻辑运算符、条件运算符、位运算符、其他运算符。 运算符按连接数据个数分为3种:一元运算符(连接1个数据)、二元运算符(连接2个数据)、三元运算符(连接3个数据)。,1.1 赋值运算符,赋值运算符是二元运算符,其优先级别为14级,结合方向为右到左。它的左边必须是变量,右边是一个表达式。 赋值运算符的作用是给符号”=”的左边的变量赋值。例如: int y=1 ; /把1赋给y float z

2、=y*22+78; /把98赋给z,1算术一元运算符 (1)数据符号(+,-) 算术一元运算符包括“+”、“-”。例如: -99 /表示负数 +88 /表示正数 (2)自增自减运算符 自增运算符(+)使变量值增1; 自减运算符(-)使变量值减1。例如: +x /先使x的值加1,再使用x -x /先使x的值减1,再使用x x+ /先使用x之后,再使x的值加1 x- /先使用x之后,再使x的值减1,1.2 算术运算符,+x和x+的区别:+x是先执行x=x+1再使用x的值;而x+是先使用x的值再执行x=x+1。如果x的原值是9,则有如下计算。 k=+x; /该语句执行后, k的值是10,x的值是10

3、 k=x+; /该语句执行后,k的值为9, x的值为10 2算术二元运算符 (1)加减运算符 例如: 7+8-5 /先计算7+8,然后将得到的结果减5 (2)乘除和求余运算符 “*”(乘)、“/”(除)和“%”(求余)运算符的优先级是3级,其结合方向是从左到右。乘除运算符的操作数据类型是整型或浮点型。例如: 5*3/5 /先计算5*3,然后将得到的结果除以5 12%5 /求余运算,计算的结果是2。其计算过程:12除以5,得到的余数是2,1关系运算符 关系运算符用来比较两个数据的大小关系,其结合方向是从左到右,运算结果是boolean型。关系运算符的操作数据类型可以是表达式、常量、变量。关系运算

4、符如表3-1所示。,1.3 关系运算符,表3-1,注意:两个字符型数据比较大小时,以其对应的编码值为比较的依据。 2关系表达式 关系表达式的结果值为boolean类型。例如: wt /运算后的结果为true (x+y)80 /假设x=30,y=20,运算后的结果是false,1.4 逻辑运算符,1逻辑运算符 逻辑运算符包括“&”、“|”、“!”,其操作数据必须是boolean型。参与逻辑运算的数据可以是关系表达式。表3-2给出了逻辑运算符的含义。,2逻辑运算规则 假设X、Y是boolean型数据,则对X,Y进行与、或、非运算的规则如表3-3所示。,表3-2,表3-3,(1)运算符“&” (2)

5、运算符“|” (3)运算符“!” 3逻辑表达式 逻辑表达式的运算结果是boolean型。例如: !(35) | (10a),1.5 条件运算符,条件运算符是三元运算符。条件表达式的格式如下: conditionExpression ? dataExpression1 : dataExpression2 例如:,int a=5, b=2, result; if(ab) result=a-b; else result=b-a;,以上的if语句等价于下面的语句: result=ab ? a-b : b-a ;,1.6 位运算符,按位运算是指把要操作的数据转换为二进制后,对二进制的每个比特位(bit)

6、进行运算。Java的按位操作数据只能是整型、char型、boolean型数据。 1整型数据的二进制表示 整型数据在内存中以二进制的形式表示,例如一个int型的变量在内存中占4个字节,共32位。 (1)正整数的二进制表示 例如(int型数据)+6的二进制表示如下: 00000000 00000000 00000000 00000110,(2)负整数的二进制表示 负数在内存中以补码的形式表示。 假设x是正整数。则求负数(-x)的补码步骤是:首先,求负数的绝对值,并用二进制数表示;其次,对绝对值对应的二进制数按位取反;第三,对取反后的二进制数加1。 例如,求-5(假设是int型数据)的补码过程如下:

7、 第一步,求负数的绝对值,并用二进制数表示(int型整数占4个字节)。 -5的绝对值是5,因是int型数据,占4个字节,其二进制表示如下: 00000000 00000000 00000000 00000101 第二步,对二进制数按位取反。对上面数据按位取反后的结果如下: 11111111 11111111 11111111 11111010 第三步,对取反后的二进制数加1。 11111111 11111111 11111111 11111011,2按位”运算符 位运算符有:非()、与(&)、或(|)、异或()、右移()、左移()等等。表3-4是位运算符规则。,假设a,b都是byte型数据(占

8、一个字节),a=3,b=5,下面是几种按位运算的例子。 (1).按位与(&) 假设x,y分别是二进制数中的一位数。则,x,y进行按位与运算时,只有当x,y都是1时,其计算结果才是1,否则是0。,表3-4,a:00000011 b:00000101 &_ 00000001 (2)按位或(|) 假设x,y分别是二进制数中的一位数。则,x,y进行按位或运算时,只有当x,y都是0时,其计算结果才是0,否则是1。 a:00000011 b:00000101 |_ 00000111 (3)按位异或() 假设x,y分别是二进制数中的一位数。则,x,y进行按位异或运算时,当x,y不同时,其计算结果是1,相同是

9、0。 a:00000011 b:00000101 _ 00000110,(4)按位非() 假设x是二进制数中的一位数。当x是0时,则按位非运算的结果是1,当x是1时,则按位非运算的结果是0。 b:00000101 _ 11111010,1点运算符 点运算符“.”用来访问对象(或类)的成员变量或成员方法。 2new运算符 可以用new运算符创建一个对象或一个数组 3instanceof运算符 该运算符是二元运算符。常用格式如下: object instanceof type_name,1.7 其他运算符,上面是一个表达式,其运算结果的数据类型是boolean类型。其中,object是一个对象,t

10、ype_name是一个类。当object是type_name类创建的对象时,该运算符运算的结果是true,否则是false。,1.8 运算符优先级和结合方向,运算符的优先级决定了表达式中数据计算的先后顺序。在编写程序时,应尽量使用“()”运算符来实现所需运算次序。例如把xy & !z写成 (xy) &( !z) ,这样的程序更易于阅读。 在表达式中,数据计算的先后顺序决定于两个方面:(1)对优先级不同的运算符来说,系统首先选择优先级最高的运算符,对它连接的数据进行计算,然后选择次优先级的运算符,对它连接的数据进行计算,以此类推;(2)对于级别相同的运算符,按运算符的结合性(结合方向),对它连接

11、的数据进行计算。,如表3-5所示列出了部分Java运算符的优先级和结合性。有些运算符我们还没有介绍,可参见相关书籍。,表3-5,2.Java语句,Java语句按格式分为6类。在Java源文件中,包命名语句(package)和包引用语句(import)放在类和接口定义之外(其中包命名语句放在Java源文件的第一行),其他的语句都放在方法体中。每个语句的最后必须有分号。,1方法调用语句 在方法最后加上一个分号,就构成了一个方法调用语句。例如: System.out.println(“方法调用语句“); /该语句是调用方法println() 2表达式语句 一个表达式的最后加上一个分号,就构成了一个表

12、达式语句。例如: z=a+b+23; 3复合语句 用把一些语句括起来便构成了复合语句。例如:, z=x+y+123; t=n+v+z; System.out.println(“Hello world“+t); ,4package语句 包命名语句的作用是为包命名。包命名语句必须放在源文件的第一行。例如: package java.wang; /将包命名为java.wang 5import语句 包引用语句主要用于引用包中的类。例如: import java.liu.*; /引用包java.liut中的所有类,以便使用其中的类 6控制语句 控制语句用于控制程序执行的顺序。控制语句包括选择语句、循环语

13、句和跳转语句。,2.1 选择语句,选择语句依据条件表达式的值,可以改变程序执行的顺序。选择语句分为两大类,即条件语句和开关语句(switch)。 1条件语句 条件语句可分为3种。 (1)if语句 if语句的格式:,if (条件表达式) 语句组; ,【例3.1】用if语句实现检测分数是否及格。 程序清单3-1 scoreOrder.java,public class scoreOrder public static void main(String args) int score=59,pass=60; if(score=pass) System.out.print(“及格“); ,(2)ife

14、lse语句 ifelse语句的格式如下:,if (条件表达式) 语句组-1; else 语句组-2,【例3.2】判断分数是否及格 程序清单3-2 ScoreLevel.java,public class ScoreLevel public static void main(String args) int stu1_score=48,stu2_score=97; if (stu1_score=60) System.out.println(“学生1的成绩及格“); else System.out.println(“学生1的成绩不及格“); if(stu2_score=60) System.out

15、.println(“学生2的成绩及格“); else System.out.println(“学生2的成绩不及格“); ,(3)ifelse if嵌套语句 ifelse if嵌套语句的格式如下:,if (条件表达式1) 语句组-1 else if (条件表达式2) 语句组-2 else if (条件表达式n) 语句组-n,2switch开关语句 switch语句是多分支的开关语句。 (1).switch语句格式,switch (表达式) case 常量1: 多个语句; break; case 常量2: 多个语句; break ; case 常量n: 多个语句;,break ; default: 多个语句; ,(2). switch语句执行过程 【例3.3】对于不同分数段的成绩输出相应的分数等级。 程序清单3-3 ScoreTest.java,public class ScoreTest public static void main(String args) int student=54,69,84,98,73; for(int i=0;i5;i+) switch(studenti/10) case 9: System.out.println(“第“+(i+1)+“位学生的成绩为优“);break; case 8:System.out.println(“第“+(

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

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

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