[JavaSE] java流程控制语句之if分支—Day05
目录
一、流程控制语句分类:
二、分支语句——if分支
简单if分支
复杂if分支
if...else...
多重if分支
嵌套if分支
总结:
一、流程控制语句分类:
1.顺序语句:方法中的代码从上往下执行
2.分支语句:根据不同条件去执行不同功能
2.1 if
2.2 switch
3.循环语句:只要条件成立,就重复性的执行某个功能
3.1 for
3.2 while
3.3 do-while
4.特殊的流程控制语句
4.1 break
4.2 continue
4.3 return
4.4 lable
二、分支语句——if分支
简单if分支
//语法结构:if(表达式) {代码块;}
注意:
表达式的结果必须是boolean
true - 执行代码块
false- 跳过分支语句,执行分支以外的代码
例:
if(false){System.out.println("...代码块...");} System.out.println("if分支以外的代码");
运行结果:if分支以外的代码 原因:false跳出循环
案例:如果小龙的Java考试成绩大于98分,小龙就能获得一部平板作为奖励
Scanner scan = new Scanner(System.in); System.out.println("请输入小龙同学的Java成绩:");double score = scan.nextDouble(); if(score>98){ System.out.println("奖励小龙同学一部平板"); }
复杂if分支
案例一: 人类的健康值在20-25的数值内为健康(健康值算法为:体重(Kg) / 身高(米)的平方)
Scanner scan = new Scanner(System.in);System.out.println("请输入体重(Kg):");double weight = scan.nextDouble();System.out.println("请输入身高(M):");double height = scan.nextDouble();//2.计算健康值double health = weight/(height*height);//3.判断if(health > 20 && health < 25){System.out.println("小护士说\"健康,请保持现有状态\"");}
运行结果:
案例二:小白Java成绩大于98分,而且音乐成绩大于80分,老师奖励他;或者Java成绩等于100分,音乐成绩大于70分,老师也可以奖励他。
Scanner scan = new Scanner(System.in);System.out.println("请输入Java成绩:");double javaScore = scan.nextDouble();System.out.println("请输入音乐成绩:");double musicScore = scan.nextDouble();if ((javaScore>98 && musicScore>80)||(javaScore==100 && musicScore>70)) {System.out.println("老师奖励他");}
运行结果:
总结 - 复杂的if分支:
1.if可以判断区间
2.if可以判断复杂条件
if...else...
//语法结构:if(表达式) { 代码块1;}else { 代码块2; }
注意:
表达式的结果必须是boolean
true - 执行代码块
false- 执行else代码块
例:
if(false){System.out.println("...代码块...");}else{System.out.println("...else代码块...");}System.out.println("if以外的代码");
运行结果:
表达式结果为 false,执行else代码块 后继续执行if以外的代码块
案例:如果小魏Java考试成绩大于98分,白老师就奖励他一个劳斯莱斯,否则 老师就罚他进行编码。
Scanner scan = new Scanner(System.in);System.out.println("请输入小魏的Java成绩:");double score = scan.nextDouble();if(score > 98){ System.out.println("奖励小魏劳斯莱斯玩具赛车一辆");}else{System.out.println("白老师给小魏同学通宵补课");}
运行结果:
总结 - if...else...:二选一的情况下使用
多重if分支
//语法结构:if(表达式1) {代码块1;}else if(表达式2) {代码块2;}else if(表达式n) {代码块n;}else {else代码块;}
注意:
从上往下依次判断表达式,哪个表达式先成立(true),就执行对应的代码块,执行完毕后跳出整个分支语句
如果都不成立,则调用else代码块
else{}根据需求可写可不写
例:
if(false){System.out.println("...代码块1...");}else if(false){System.out.println("...代码块2...");}else if(false){System.out.println("...代码块n...");}else{System.out.println("...else代码块...");}System.out.println("if以外的代码");
运行结果:
案例一:人类的健康值在15-20的数值内为偏瘦,20-25的数值内为健康,25-30的数值内为偏胖
(健康值算法为:体重(Kg) / 身高(米)的平方)
Scanner scan = new Scanner(System.in);System.out.println("请输入体重(Kg):");double weight = scan.nextDouble();System.out.println("请输入身高(M):");double height = scan.nextDouble();//2.计算健康值double health = weight/(height*height);//3.判断if(health > 15 && health 20 && health 25 && health <= 30){System.out.println("小护士说\"偏胖,多做运动,嘿嘿嘿\"");}else{System.out.println("小护士说\"健康值异常,请到医院进行详细检查\"");}
运行结果:
案例二:通过键盘录入学生成绩
如果在91-100之间,则打印“A”,
否则如果在81-90之间,则打印“B”,
否则如果在71-80之间,则打印“C”
否则如果在61-70之间,则打印“D”
否则打印“E”
//1.输入成绩Scanner scan = new Scanner(System.in);System.out.println("请输入成绩:");double score = scan.nextDouble();//2.判断成绩区间if(score >= 90 && score = 80 && score = 70 && score = 60 && score = 0 && score < 60){System.out.println("E");}else{System.out.println("成绩异常");}
运行结果:
总结 :
多重if分支:多选一时就使用
嵌套if分支
案例:学校举行运动会,百米赛跑跑入16秒内的学生有资格进决赛,根据性别 分别进入男子组和女子组。
Scanner scan = new Scanner(System.in);System.out.println("请输入比赛成绩:");double s = scan.nextDouble();if(s >= 0 && s 14){ System.out.println("已被淘汰,重在参与...");}else{//输入的秒数为负数System.out.println("成绩异常...");}
运行结果:
总结:
if的使用:
1.if可以判断区间
2.if可以判断复杂条件
3.if...else...:二选一的情况下使用
4.多重if:多选一的情况下使用
5.if可以嵌套