12、选择结构

选择结构

1、if单选择结构

image-20210622153818164

public class IfSingle {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入内容:");
        if ( sc.hasNextLine() ) {
            String s = sc.nextLine();
            if ( s.equals("Hello") ) {
                System.out.println(s);
            } else {
                System.out.println("End");
            }
            sc.close();
        }
    }
}

image-20210622154748811

image-20210622154817298

2、if双选择结构

image-20210622155743094

public class IfDouble {
    public static void main(String[] args) {
        //考试分数大于60就是及格,小于60分就是不及格
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入分数:");
        if ( sc.hasNextInt() ) {
            int score = sc.nextInt();
            if ( score >= 60 ) {
                System.out.println("恭喜你,及格了,你的分数是:" + score);
            } else {
                System.out.println("不好意思,你的分数为:" + score + ",不及格");
            }
        }
        sc.close();
    }
}

image-20210622160001184

image-20210622160048518

3、if多选择结构

image-20210622160139058

注意

  • if 语句至多有一个 else 语句,else 语句在所有的 else if 语句之后
  • if 语句可以有若干个 else if 语句,它们必须在 else 语句之前
  • 一旦其中一个 else if 语句检测为 true,其它的 else if 以及 else 语句都将跳过执行
public class IfMany {
    public static void main(String[] ags) {
        //考试分数大于90就是优秀,大于80就是良好,大于70就是一般,大于60就是及格,小于60分就是不及格
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入分数:");
        int score = sc.nextInt();
        if ( score >= 90 && score <= 100 ) {
            System.out.println("你的成绩为:" + score + ",评级为优秀");
        } else if ( score >= 80 && score < 90 ) {
            System.out.println("你的成绩为:" + score + ",评级为良好");
        } else if ( score >= 70 && score < 80 ) {
            System.out.println("你的成绩为:" + score + ",评级为一般");
        } else if ( score >= 60 && score < 70 ) {
            System.out.println("你的成绩为:" + score + ",评级为及格");
        } else if ( score >= 0 && score < 60 ) {
            System.out.println("你的成绩为:" + score + ",评级为不及格");
        } else {
            System.out.println("你输入的分数不合法!");
        }
        sc.close();
    }

image-20210622161607239

image-20210622161638616

image-20210622161704458

image-20210622161740439

image-20210622161758469

image-20210622161815585

4、嵌套的if结构

image-20210622161916283

public class IfNesting {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个1~100之间的数");
        int num = sc.nextInt();
        if ( num >= 1 && num < 50 ) {
            System.out.println(num + "在0~50间");
            if ( num >= 1 && num <= 25 ) {
                System.out.println(num + "在0~25间");
            } else {
                System.out.println(num + "在25~50间");
            }
        } else if ( num >= 50 && num <= 100 ){
            System.out.println(num + "在50~100间");
            if ( num >=50 && num <= 75 ) {
                System.out.println(num + "在50~75间");
            } else {
                System.out.println(num + "在75~100间");
            }
        } else {
            System.out.println("你输入的数据不在1~100间");
        }
        sc.close();
    }
}

image-20210622163219620

image-20210622163247763

image-20210622163307905

image-20210622163328616

image-20210622163344945

5、switch多选择结构

image-20210622163432456

public class Switch {
    public static void main(String[] args) {
        //case穿透
        //switch:匹配一个具体的值
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入你的等级(A~E):");
        String grade = sc.nextLine();
        switch ( grade ) {
            case "A":
                System.out.println("你的等级为" + grade + ",优秀");
                break;
            case "B":
                System.out.println("你的等级为" + grade + ",良好");
                break;
            case "C":
                System.out.println("你的等级为" + grade + ",一般");
                break;
            case "D":
                System.out.println("你的等级为" + grade + ",及格");
                break;
            case "E":
                System.out.println("你的等级为" + grade + ",不及格");
                break;
            default:
                System.out.println("输入不合法!");
        }
    }
}

image-20210622165206602

image-20210622165314264

image-20210622165336609

6、总结

JDK7的新特性,表达式结果可以是字符串

字符的本质还是数字

反编译 java---class(字节码文件)---反编译(IDEA)

posted @ 2021-06-26 16:53  多瑞C  阅读(73)  评论(0)    收藏  举报