资源预览内容
第1页 / 共34页
第2页 / 共34页
第3页 / 共34页
第4页 / 共34页
第5页 / 共34页
第6页 / 共34页
第7页 / 共34页
第8页 / 共34页
第9页 / 共34页
第10页 / 共34页
亲,该文档总共34页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第三章,运算符和条件结构,回顾,找出错误并更正 输出结果是什么?,int radius = 10; double high = 1.9; int vol = 3.14 * radius * radius * high;,需进行强制类型转换,int num1 = 19; int num2 = 89; int temp; temp = num1; num1 = num2; num2 = temp; System.out.println(num1); System.out.println(num2);,int vol = (int)(3.14 * radius * radius * high);,89 19,借助一个中间变量互换两个变量的值,掌握boolean类型的用法 掌握关系运算符和逻辑运算符 掌握if条件结构 使用基本if条件结构 使用多重if条件结构 掌握switch结构的用法,本章目标,用什么数据类型能表示 一件商品是真货还是假货 一个条件成立还是不成立,boolean (布尔)类型 boolean类型的值: 真:true 假:false,boolean类型只有这两个值,?,为什么需要boolean类型,1、用boolean类型描述:学员张三的考试成绩是否比学员李四(80分)高,如何使用boolean类型,int liSi = 80; /学员李四成绩 boolean isBig ; /声明一个boolean类型的变量 Scanner input = new Scanner(System.in); System.out.print(“输入学员张三成绩: “); /提示要输入学员张三的成绩 int zhangSan = input.nextInt(); /输入张三的成绩 isBig = zhangSan liSi ; /将比较结果保存在boolean变量中 System.out.println( “张三成绩比李四高吗 ? “+isBig ); /输出比较结果,存储比较结果,条件表达式,从控制台接收一个整数,比较高低、大小、长短 张三的考试成绩是否比李四高 大象是否比乌龟更长寿 篮球跟地球一样大吗,如何比较?,使用关系运算符可以比较高低、大小、长短,?,为什么使用关系运算符,什么是关系运算符,常用的关系运算符有哪些: ,=,=,大象的寿命 李四的成绩 假 令狐冲每次考试成绩 = 90分 真 篮球的大小 = 地球的大小 假,由此看出,关系运算符的作用:用来做比较运算 比较后结果:boolean类型,2、如果令狐冲的Java考试成绩大于90分,师父就奖励他一本武功秘笈,为什么需要if条件结构,使用if条件结构可以解决,什么是if条件结构,if条件结构是根据条件判断之后再做处理,if ( 条件 ) /语句 ,if ( 令狐冲Java成绩 90 ) 师父奖励令狐冲; ,结合问题2,基本的if条件结构,如何使用if条件结构6-1,回顾:如果令狐冲的Java考试成绩大于90分,师父就奖励他独孤九剑剑谱,使用if条件结构该如何实现,import java.util.Scanner; public class Hello2 public static void main(String args) Scanner input = new Scanner(System.in); System.out.print(“输入令狐冲的Java成绩: “); int score = input.nextInt(); /令狐冲的Java成绩 if ( score 90 ) /判断是否大于90分 System.out.println(“师父说:不错,给你独孤九剑剑谱“); ,如何使用if条件结构6-2,3、令狐冲Java成绩大于90分,而且音乐成绩大于80分,师父奖励他;或者Java成绩等于100分,音乐成绩大于70分,师父也可以奖励他,分析:怎样把多个条件连接起来?,使用逻辑运算符,问题3的条件如何编写,如何使用if条件结构6-3,多使用小括号( )控制优先级,score1 90 & score2 80 | score1 = 100 & score2 70,运算符的优先级: 最高的优先级:小括号,即( ) 最低的优先级:赋值运算符,即= 优先级顺序:!算术运算符比较运算符&|,public class HelloAccp3 public static void main(String args) int score1 = 100; /令狐冲的语文成绩 int score2 = 72; /令狐冲的历史成绩 if ( (score1 90 ,?,如何使用if条件结构6-4,4、如果令狐冲考试成绩大于90分,师父就奖励他独孤九剑,否则师父就罚他上思过崖闭关思过,使用两个基本if条件结构,使用if-else条件结构实现,if ( score 90 ) System.out.println(“师父说:不错,给你独孤九剑剑谱“); if ( score = 90 ) System.out.println(“师父说:不孝徒,上思过崖闭关思过去吧“); ,如何使用if条件结构6-5,if-else条件结构,if ( 条件 ) /语句1 else /语句2 ,if ( 令狐冲考试成绩 90 ) 师父奖励令狐冲; else 师父罚他闭关思过; ,结合问题4,使用if-else条件结构解决问题4,public class Hello4 public static void main(String args) int score = 89; /令狐冲的语文成绩 if ( score 90 ) System.out.println(“师父说:不错,给你独孤九剑剑谱“); else System.out.println(“师父说:不孝徒,上思过崖闭关思过去吧“); ,如何使用if条件结构6-6,赋值运算符,赋值运算符的运算顺序是从右至左的:,条件运算符? :,条件运算符是三元运算符; 它的一般形式是: 表达式1 ? 表达式2 : 表达式3 根据表达式1的结果来判断执行表达式2还是表达式3,如果表达式1的结果为true,则执行表达式2,否则执行表达式3; 条件运算符在某些情况下能够替代小型的ifelse语句。,条件运算符? :,If(x0) y=1; Else y=-1;,Y=(x0)?1:-1;,等价,运算符的优先级,很多情况下,一个表达式由多个运算符组成,优先级决定运算符的计算顺序:,小结1,说出已学过的数据类型有哪些? int、double、char、boolean、String 举例说明已学过的运算符有哪些? 赋值运算符、算术运算符、条件运算符、逻辑运算符 if和if-else条件结构执行的顺序是什么? if:如果条件表达式成立,执行语句 if-else:如果条件表达式成立,执行语句1,如果不成立,执行语句2,1、 小布什买了一筐鸡蛋,如果坏蛋少于5个,他就吃掉,否则他就去退货 2、 要求用户输入两个数a、b,如果a能被b整除或a加b大于1000,则输出a,否则输出b,小结1,为什么使用多重if结构,5、对学员的结业考试成绩评测 成绩=90 :优秀 成绩=80 :良好 成绩=60 :中等 成绩60 :差,使用多重if结构,多重if结构就是在else部分中还包含其他if块,什么是多重if结构,if ( 条件 ) /语句 else if ( 条件 ) /语句 else /语句 ,可以有多个,可以省略,多重if结构,如何使用多重if结构,使用多重if结构解决问题5,int score = 70; /考试成绩 if ( score = 90 ) System.out.println(“优秀“); else if (score = 80 ) System.out.println(“良好“); else if (score = 60 ) System.out.println(“中等“); else System.out.println(“差“); ,大于等于90分,大于等于60分,小于80分,小于60分,大于等于80分,小于90分,为什么使用switch结构,6、 令狐冲参加比武大会 如果获得第一名,将出任武林盟主 如果获得第二名,将出任武当掌门 如果获得第三名,将出任峨嵋掌门 否则,将被逐出师门,使用if条件结构如何实现 实现代码,更好的解决办法:使用switch结构解决,switch (表达式) case 常量 1: 语句; break; case 常量 2: 语句; break; default: 语句; ,switch结构,什么是switch结构,计算表达式的值,如果等于常量1,如果等于常量2,如果没有找到匹配的值,使用switch结构解决问题6,如何使用switch结构,int mingCi = 1; switch (mingCi) case 1: System.out.println(“出任武林盟主“); break; case 2: System.out.println(“出任武当掌门“); break; case 3: System.out.println(“出任峨嵋掌门“); break; default: System.out.println(“被逐出师门“); ,第一名的情况下,第二名的情况下,第三名的情况下,其他情况下,常见错误3-1,int mingCi = 1; switch (mingCi) case 1: System.out.println(“出任武林盟主“); case 2: System.out.println(“出任武当掌门“); case 3: System.out.println(“出任峨嵋掌门“); default: System.out.println(“被逐出师门“); ,输出结果是什么?,如果需要每个case执行完后跳出, 在每个case后不要忘记写break;,常见错误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.println(“被逐出师门“); ,case后面的常量必须各不相同,代码错误,常见错误3-3,String day = “星期一“; switch (day) case “星期一“: System.out.println(“星期一:青菜 “); break; case “星期二“: System.out.println(“星期二:鱼 “); break; default: ,switch后面小括号中表达式的值必须是整型或字符型,代码错误,比较switch和多重if结构,相同点 不同点 switch 多重if,都可以实现多分支结构,只能处理等值的条件判断,且条件是整型变量或字符变量的等值判断,处理在else部分还包含其它if结构,特别适合某个变量处于某个区间时的情况,格式化控制台输出与字符串,语法: 见教材P66 System.out.printf(format,item1,itemk) 例子: int c=5; double
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号