运算符和条件结构.ppt

上传人:xin****828 文档编号:15455147 上传时间:2020-08-11 格式:PPT 页数:34 大小:1.55MB
收藏 版权申诉 举报 下载
运算符和条件结构.ppt_第1页
第1页 / 共34页
运算符和条件结构.ppt_第2页
第2页 / 共34页
运算符和条件结构.ppt_第3页
第3页 / 共34页
资源描述:

《运算符和条件结构.ppt》由会员分享,可在线阅读,更多相关《运算符和条件结构.ppt(34页珍藏版)》请在装配图网上搜索。

1、运算符和条件结构,第2章,回顾 1,纠正代码中的错误,输出“早上好!” 说出使用Eclipse开发Java程序的步骤?,public class Test public void main(String args) system.out.println(早上好!); ,System中S要大写,回顾 2,找出错误并更正 输出结果是什么?,int radius = 10; double high = 1.9; int vol = 3.14 * radius * radius * high;,需进行强制类型转换,int num1 = 19; int num2 = 89; int temp; temp

2、 = num1; num1 = num2; num2 = temp; System.out.println(num1); System.out.println(num2);,int vol = (int)(3.14 * radius * radius * high);,89 19,借助一个中间变量互换两个变量的值,掌握java运算符 掌握if条件结构 使用基本if条件结构 使用多重if条件结构 掌握switch结构的用法 掌握键盘输入,本章目标,Java运算符,算术运算符 比较运算符 逻辑运算符 位运算符 赋值运算符,算术运算符,算术运算符有+、-、*、/、%、+、-。 (1)+,有三种功能:

3、正号、加号和字符串连接。 (2)-,有两种功能:负号和减号。 (3)*,要注意乘法运算后结果是否超出了类型的取值范围,例如: int a=123456, b=2345678, c; c=a*b/b; /结果不是123456,而是 778 (4)/,当左右两个操作数都是整型数时,/表示的是整除 (5)%(取余运算符),其计算结果的符号只与第一个操作数的符号相同,与第二个操作数的符号无关,例如10%3=1,10%-3=1,-10%3=-1,-10%-3=-1,-10.3%3=-1.3。%的操作数可以是整数也可以实浮点数。,7,Java算术运算符可分为一元运算符和二元运算符两种。一元运算符如下表所示

4、。,一元运算符,8,二元运算符用法表,二元运算符,比较运算符,该运算符对左右两端的操作数进行比较,运算结果是boolean类型的。比较运算符有=(相等)、!=(不等)、=、instanceof。 注意:=与=不同,前者是比较操作符,后者是赋值操作符,例如 boolean b=false; if(b=true) /赋值 System.out.println(Hello); if(b=true) /比较 System.out.println(World); ,逻辑运算符,位运算符,位运算符的几点说明,(1)位运算符可以与=组合使用,例如a=2,a则a的值不变。 (4)移位运算的操作数如果类型不一致

5、,则会发生类型的自动提升,例如ab,提升规则为:若a,b的类型都低于int,则自动提升为int型,否则运算结果的类型和a,b中的最高类型一致。 (5)对移位运算而言,例如ab,若a为int型,则实际移动的位数为b%32,例如int a=10;a1与a/2的结果相同,a1与的结果相同,只是移位运算的速度快。,赋值运算符,赋值运算符为=,可以单独使用,例如a=10,也可以与其他运算符组合使用,若其他运算符统一抽象用表示,则a=b在功能上和a=ab相同,例如a+=3同a=a+3。可组合使用的运算符有:+、-、*、/、%、 其语义为:首先计算表达式expression的值,如果该值为真(true),则

6、将statement1的值作为整个表达式的值,反之,将statement2作为整个表达式的值。如: max= x y ? x :y; 该语句取x,y的最大值。需要注意的是,该运算符规定statement1和statement2需返回相同类型的数据,且不能为void。,运算符,15,运算符,16,表达式,表达式就是运算符、操作数以及方法调用的序列,用来说明某个计算过程并返回计算结果。,z = x + y g * h * (t/20)+ 65 r % 2,先算哪部分 加? 减? 取余? 除? 括号?,要解决此问题,需要使用: 运算符优先级,17,运算符的优先级 运算符是有优先级的,它决定表达式中各

7、运算执行的先后顺序。总的来说,运算符优先级具有如下规则: 一元运算符比二元运算符优先级高。 算术运算符比关系运算符优先级高。 关系运算符比按位运算符优先级高。 大于和小于运算符比等于和不等于运算符优先级高。 按位运算符比逻辑运算符优先级高。 逻辑与( import java.util.*;,使用Scanner输入: 输入整数:,Scanner input = new Scanner(System.in); int age = input.nextInt(); /输入年龄,在源代码第一行,输入字符串:,Scanner input = new Scanner(System.in); String

8、name = input.next(); /输入姓名,流程控制,程序设计的三种基本结构:顺序结构、条件分支结构和循环结构,并从理论上证明了一切可描述的程序算法均可通过使用这三种结构得到解决。 顺序结构 顺序结构是程序设计中最基本最简单的结构,一切程序设计算法,归结到计算机指令,都是顺序执行的,顺序结构要求按顺序执行每一条指令。,条件分支结构,if语句 条件表达式 switch语句,if语句,if 语句有以下几种表现形式: (1)if (boolean表达式) 语句块; (2)if (boolean表达式) 语句块1; else 语句块2 ,(3)if (boolean表达式1) 语句块1; e

9、lse if (boolean表达式2) 语句块2; . else if(boolean表达式n) 语句块n; else 语句块n+1 ,(4)if语句的嵌套。 if 语句可以嵌套使用以表达更复杂的条件判断。如: if(a=2) if(b=3) 语句块1; else 语句块2; 语句块3; ,条件表达式,语法为:表达式1? 表达式2 : 表达式3; 含义是若表达式1的结果为 true,则执行表达式2并返回其值,否则执行表达式3并返回其值。条件表达式相当于 if else结构,例如: int x=-10; int absX= x0? x:-x; /执行完后absX=10,switch 语句,sw

10、itch(表达式) case 常量表达式1: 语句块1; break; case 常量表达式2: 语句块2; break; . case 常量表达式n: 语句块n; break; default: 语句块n+1; break; ,说明,(1)switch表达式的类型只能是byte、char、short、int中的一种。 (2)case语句后常量表达式的类型与switch表达式的类型一致,常量表达式中不能含有变量。 (3)break语句为可选项,放在每个case语句块的末尾,当执行break语句后,就会结束switch语句的执行。若没有break语句,则会继续执行后续的case分支语句,直到遇到

11、break语句或switch语句结束。 (4)default语句的数量可为0或1,case语句的数量可为0或1或多个。default与case语句之间没有先后顺序,只是习惯上把default语句放在最后。,使用switch结构解决问题6,如何使用switch结构,int month = 1; Int year=2010; switch (month) case 1: case 3: case 5: case 7: case 8: case 10: case 12: System.out.println(“本月为大月 有31天 ); break; case 4: case 6: case 9:

12、case 11: System.out.println(“本月为小月 有30天); break; default: if (year%4=0) System.out.println(“闰年2月 有29天); else System.out.println(“闰年2月 有28天); ,大月情况下,小月的情况下,其他情况下闰年非闰年2月情况,演示示例6:使用switch结构,常见错误3-1,int mingCi = 1; switch (mingCi) case 1: System.out.println(出任武林盟主); case 2: System.out.println(出任武当掌门); c

13、ase 3: System.out.println(出任峨嵋掌门); default: System.out.println(被逐出师门); ,输出结果是什么?,如果需要每个case执行完后跳出, 在每个case后不要忘记写break;,演示示例7:完整代码,常见错误3-2,int mingCi = 1; switch (mingCi) case 1: System.out.println(出任武林盟主); case 2: System.out.println(出任武当掌门); case 2: System.out.println(出任峨嵋掌门); default: System.out.pr

14、intln(被逐出师门); ,case后面的常量必须各不相同,代码错误,常见错误3-3,String day = 星期一; switch (day) case 星期一: System.out.println(星期一:青菜 ); break; case 星期二: System.out.println(星期二:鱼 ); break; default: ,switch后面小括号中表达式的值必须是整型或字符型,演示示例8:完整代码,代码错误,比较switch和多重if结构,相同点 不同点 switch 多重if,都可以实现多分支结构,只能处理等值的条件判断,且条件是整型变量或字符变量的等值判断,处理在else部分还包含其它if结构,特别适合某个变量处于某个区间时的情况,总结,什么数据类型可以描述真和假? 描述几种分支结构的语法和执行过程? 什么情况下会使用多重if条件结构? 多重if条件结构和switch结构的区别和适用场合是什么?,谢谢大家!,

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!