第十四届蓝桥杯集训——JavaC组第十篇——分支语句
目录
第十四届蓝桥杯集训——JavaC组第十篇——分支语句
if单分支
if单分支语法
if单分支语句示例
单分支例题:
连续单分支示例
if简写语法
if双分支语句
if双分支语法
if双分支语法示例
if双分支简写法
if双分支示例
if多分支语句
if多分支语句语法
if多分支语句基础示例
if多分支语句示例
考试奖励
if嵌套语句
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("输入的成绩是错误的;");
}
}
}