(1)简单的if分支
语法结构:
if(表达式){
...代码块...
}
理解:表达式的结果必须是boolean:
true - 执行代码块
false- 跳出if分支,执行if以外的代码
做实验:if(false){ System.out.println("...代码块..."); } System.out.println("if以外的代码");
案例:如果张三的Java考试成绩大于98分,张三就能获得一辆法拉利作为奖励
if(score > 98){
System.out.println("奖励张三法拉利玩具赛车一辆");
}
(2)复杂的if分支
案例一: 人类的健康值在20-25的数值内为健康
(健康值算法为:体重(Kg) / 身高(米)的平方)
if(health>20 && health<25){ System.out.println("小护士:\"健康,保持现有状态\""); }
案例二:张三Java成绩大于98分,而且音乐成绩大于80分,老师奖励他;或者Java成绩等于100分,音乐成绩大于70分,老师也可以奖励他。
if((javaScore>98 && musicScore>80) || (javaScore==100 && musicScore>70)){ System.out.println("奖励张三法拉利玩具赛车一辆"); }
小结:
1、if分支可以判断区间
2、if分支可以判断复杂条件
(3)if...else..
——二选一时使用
语法结构:
if(表达式){
...代码块...
}else{
...else代码块...
}
理解:
表达式的结果必须是boolean
true - 执行代码块
false- 执行else代码块
注意:else表示其余的情况做实验:
if(false){ System.out.println("...代码块..."); }else{ System.out.println("...else代码块..."); } System.out.println("if分支以外的代码块");
案例:如果张三Java考试成绩大于98分,老师就奖励他一个劳斯莱斯,否则老师就罚他进行编码
if(score > 98){ System.out.println("奖励张三劳斯莱斯玩具赛车一辆"); }else{ System.out.println("何老师给张三通宵补课"); }
小结:
if...else... 二选一的情况下使用
(4)多重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) / 身高(米)的平方)double health = weigth/(heigth*heigth); if(health>15 && health<=20){ System.out.println("小护士:\"偏瘦,多喝啤酒,多吃垃圾食品,多熬夜\""); }else if(health>20 && health<=25){ System.out.println("小护士:\"健康,保持现有状态\""); }else if(health>25 && health<=30){ System.out.println("小护士:\"偏胖,多做运动,嘿嘿嘿\""); }else{ System.out.println("小护士:\"健康值异常,请前往医院进行详细检查\""); }
小结:
多重if分支在多选一时使用
(5)嵌套if——if支持无限层嵌套
案例:千锋举行运动会,百米赛跑跑入16秒内的学生有资格进决赛,根据性别分别进入男子组和女子组。if(score>=0 && score<16){ System.out.println("请输入性别:"); String sex = scan.next(); if(sex.equals("男")){//判断两个字符串内容是否相同 System.out.println("恭喜,进入到男子组决赛"); }else if(sex.equals("女")){//判断两个字符串内容是否相同 System.out.println("恭喜,进入到女子组决赛"); }else{ System.out.println("性别异常"); } }else if(score >= 16){ System.out.println("重在参与"); }else{ System.out.println("成绩异常"); }
小结:
if支持无限层嵌套
为了代码的可读性,嵌套层数最好不要超过3层