第十四届蓝桥杯集训——JavaC组第十篇——分支语句
if单分支
if单分支语法
if(布尔表达式){
执行的程序
}
if单分支语句示例
if后面的括号内放置的是布尔表达式。也就是放置返回true或者false的关系/逻辑表达式。
if(true) { System.out.println("幸福平安"); }
单分支例题:
这里我使用了一个判断成绩是否有效的判断题来做测试。可以看到,我们们在表达式中有关系运算符也有逻辑运算符。
package com.item.action; public class Main { public static void main(String[] args) { int result=90; if(result>=0&&result<=100) { System.out.println(result+"成绩有效。"); } } }
连续单分支示例
企业发放的奖金根据利润提成。
利润(m)低于或等于10万元时,奖金可提10%;
利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7 .5%;
20万到40万之间时,高于20万元的部分,可提成5%;
解:
我们这里可以分析出:20~40万是一个比较大的档次。这里超过20万的部分提成5%,所以就应该用m-20万乘以5%,剩下的利润继续计算10~20万的提成7.5%,再次减去这个部分的提成,最后剩余的10万元按照10%进行提成。
package com.item.action; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); double m=sc.nextDouble(); sc.close(); double sum=0; if(m>200000&&m<=400000) { sum+=(m-200000)*0.05; m=200000; } if(m>100000&&m<=200000) { sum+=(m-100000)*0.075; m=100000; } if(m>0&&m<=100000) { sum+=m*0.1; } System.out.println(sum); } }
测试数据:222222
测试结果:
if简写语法
简写,主要就是去掉了作用域的花括号,但是我们要注意,这个写法一般在单分支中比较容易看的出来,初学者也一眼就看出来了。复杂的分支语句暂时还是建议使用作用域的花括号。
package com.item.action; public class Main { public static void main(String[] args) { boolean b = false; // 如果有多个表达式,必须用大括弧包括起来 if (b) { System.out.println("yes1"); System.out.println("yes2"); System.out.println("yes3"); } // 否则表达式2 3 无论b是否为true都会执行 if (b) System.out.println("yes1"); System.out.println("yes2"); System.out.println("yes3"); // 如果只有一个表达式可以不用写括弧,看上去会简约一些 if (b) { System.out.println("yes1"); } if (b) System.out.println("yes1"); } }
if双分支语句
if双分支语法
if(布尔表达式){
执行的程序1
} else{
执行程序2
}
if双分支语法示例
package com.item.action; public class Main { public static void main(String[] args) { boolean b = false; if (b) { System.out.println("yes"); } else { System.out.println("no"); } } }
if双分支简写法
依然是去掉作用域的花括号,但是这里我们就得更加注意缩进符号的使用了。
package com.item.action; public class Main { public static void main(String[] args) { boolean b = false; if (b) System.out.println("yes"); else System.out.println("no"); } }
if双分支示例
判断闰年
package com.item.action; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int year = sc.nextInt(); sc.close(); if(year%4==0&&year%100!=0||year%400==0) { System.out.println("闰年"); }else { System.out.println("平年"); } } }
if多分支语句
if多分支语句语法
if(布尔表达式1){
执行语句1
}else if(布尔表达式2){
执行语句2
}else if(布尔表达式3){
执行语句3
}............
else{
其它所有情况。
}
if多分支语句基础示例
package com.item.action; public class Main { public static void main(String[] args) { int i = 2; if (i == 1) { System.out.println(1); } else if (i == 2) { System.out.println(2); } else if (i == 3) { System.out.println(3); } else if (i == 4) { System.out.println(4); } } }
if多分支语句示例
考试奖励
小明期末考试,爸爸承诺如果小明考了:
1、100 - 95分奖励小明山地自行车一辆;
2、94 - 90分奖励小明到游乐园玩一天;
3、89 - 80分奖励变形金刚一个;
4、80分一下小明被胖揍一顿;
package com.item.action; import java.util.Scanner; public class Main { public static void main(String[] args) { System.out.println("输入小明的成绩:"); Scanner sc = new Scanner(System.in); int number = sc.nextInt(); sc.close(); if(number<0 || number >100){ System.out.println("输入的成绩是错误的:"); }else if(number >=95&&number<=100){ System.out.println("小明获得山地自行车一辆"); }else if(number >= 90&&number<=94){ System.out.println("小明可以到游乐场去玩一次"); }else if(number >= 80&&number<=89){ System.out.println("小明获得变形金刚一个"); }else{ System.out.println("胖揍小明一顿"); } } }
输入数据:98,结果显示如下:
if嵌套语句
if语句内嵌套if语句:
package com.item.action; import java.util.Scanner; public class Main { public static void main(String[] args) { System.out.println("输入小明的成绩:"); Scanner sc = new Scanner(System.in); int number = sc.nextInt(); sc.close(); if (number > 0 && number <= 100) { if (number >= 95 && number <= 100) { System.out.println("小明获得山地自行车一辆"); } else if (number >= 90 && number <= 94) { System.out.println("小明可以到游乐场去玩一次"); } else if (number >= 80 && number <= 89) { System.out.println("小明获得变形金刚一个"); } else { System.out.println("胖揍小明一顿"); } } else { System.out.println("输入的成绩是错误的;"); } } }