Java基础:选择结构

Java基础:选择结构


条件语句

if单选择结构

  • 语法

    if (布尔表达式) {
    	如果布尔表达式为true将执行的语句
    }
    
  • 示例

    import java.util.Scanner;
    
    public class IfDemo01 {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
    
            System.out.println("请输入内容:");
            String s = scanner.nextLine();
    
            //equals作用:判断字符串是否等于Hello
            if(s.equals("Hello")){
                System.out.println(s);
            }
    
            System.out.println("End");
            scanner.close();
        }
    }
    

if...else双选择结构

  • 语法

    if (布尔表达式) {
        如果布尔表达式为true将执行的语句
    }else {
    	如果布尔表达式为false将执行的语句
    }
    
  • 示例

    import java.util.Scanner;
    
    public class IfDemo02 {
        public static void main(String[] args) {
            //大于60分及格,小于60分不及格
            Scanner scanner = new Scanner(System.in);
    
            System.out.println("请输入成绩: ");
            int score = scanner.nextInt();
    
            if(score >= 60){
                System.out.println("及格");
            }else{
                System.out.println("不及格");
            }
    
    
            scanner.close();
        }
    }
    

if...else if...else多选择结构

  • 语法

    if (布尔表达式1) {
        如果布尔表达式1为true将执行的语句
    }if else (布尔表达式2) {
        如果布尔表达式2为true将执行的语句
    }if else (布尔表达式3) {
        如果布尔表达式3为true将执行的语句
    }else {
    	如果以上布尔表达式为false将执行的语句
    }
    
  • 示例

    import java.util.Scanner;
    
    public class IfDemo03 {
        public static void main(String[] args) {
            //大于60分及格,小于60分不及格
            Scanner scanner = new Scanner(System.in);
    
            System.out.println("请输入成绩: ");
            int score = scanner.nextInt();
    
            if (score == 100){
                System.out.println("恭喜满分");
            }else if (score < 100 && score >= 90){
                System.out.println("A级");
            }else if (score < 90 && score >= 80){
                System.out.println("B级");
            }else if (score < 80 && score >= 70){
                System.out.println("C级");
            }else if (score < 70 && score >= 60){
                System.out.println("D级");
            }else if (score < 60 && score >= 0){
                System.out.println("不及格");
            } else {
                System.out.println("成绩不合法");
            }
            
            scanner.close();
        }
    }
    
  • 注意

    • if 语句至多有 1 个 else 语句,else 语句在所有的 else if 语句之后。
    • if 语句可以有若干个 else if 语句,它们必须在 else 语句之前。
    • 一旦其中一个 else if 语句检测为 true,其他的 else if 以及 else 语句都将跳过执行。
    • if里可以嵌套if(套娃)

switch case语句

switch多选择结构

  • 多选择结构还有一个实现方式就是switch case 语句

  • switch case 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支

  • 语法

    switch(expression){
        case value :
           //语句
           break; //可选
        case value :
           //语句
           break; //可选
        //你可以有任意数量的case语句
        default : //可选
           //语句
    }
    
  • switch语句中的变量类型可以是:

    • byte、short、int、char、String(Java SE 7后支持)
    • 同时case标签必须为字符串常量或字面量
  • 示例

    public class SwitchDemo01 {
        public static void main(String[] args) {
            //case穿透 //switch匹配一个值 //default默认
            char grade = 'C';
    
            switch (grade){
                case 'A':
                    System.out.println("优秀");
                    break;
                case 'B':
                    System.out.println("良好");
                    break;
                case 'C':
                    System.out.println("及格");
                    break;
                case 'D':
                    System.out.println("再接再厉");
                    break;
                case 'E':
                    System.out.println("挂科");
                    break;
                default:
                    System.out.println("未知等级");
            }
    
        }
    }
    

    输出

    及格
    
  • 字符串比较示例

    public class SwitchDemo02 {
        public static void main(String[] args) {
           //JDK7新特性,表达式结果可以是字符串
            //字符的本质还是数字
    
            //反编译 java---class(字节码文件)---反编译(IDEA)
    
            String name = "Dt";
    		//字符串的比较实际上是哈希值的比较
            switch (name){
                case "Dt":
                    System.out.println("Dt");
                    break;
                case "dt":
                    System.out.println("dt");
                    break;
                default:
                    System.out.println("未符合要求");
            }
    
        }
    }
    

    输出

    Dt
    
posted @ 2021-04-02 22:20  D..T  阅读(64)  评论(0编辑  收藏  举报