第十四届蓝桥杯集训——JavaC组第十篇——分支语句

简介: 第十四届蓝桥杯集训——JavaC组第十篇——分支语句

第十四届蓝桥杯集训——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("输入的成绩是错误的;");
    }
  }
}
相关文章
|
3月前
|
人工智能 算法 Java
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-1005 数字游戏
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-1005 数字游戏
57 0
|
3月前
|
Java C语言 C++
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-1000 kAc给糖果你吃
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-1000 kAc给糖果你吃
42 0
|
3月前
|
算法 Java C语言
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-999 数的潜能
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-999 数的潜能
40 0
|
3月前
|
算法 Java C语言
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-997 粘木棍
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-997 粘木棍
48 0
|
3月前
|
算法 Java C语言
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-1007 印章
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-1007 印章
28 0
|
3月前
|
算法 Java C语言
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-1006 拿金币
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-1006 拿金币
22 0
|
3月前
|
算法 Java C语言
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-1004 无聊的逗
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-1004 无聊的逗
46 0
|
3月前
|
算法 Java C语言
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-1003 礼物
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-1003 礼物
54 0
|
3月前
|
算法 Java C语言
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-1001 跳马
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-1001 跳马
26 0
|
3月前
|
移动开发 算法 Java
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-998 娜神平衡
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-998 娜神平衡
41 0