白学JA第三天之选择结构

IF分支结构

首先先介绍三元表达式,与if有少许类似

三元表达式

        int sexNum = 1;
        System.out.println(sexNum == 1);
        String sex=sexNum==1?"male":"female";
        System.out.println(sex);
        //三元表达式:
        //条件?条件的结果为true时整个表达式的值:条件的结果为false时整个表达式的值
//练习:判断一个数是否为偶数
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个整数:");
        int num=sc.nextInt();
        String result=num%2==0?"偶数":"奇数";
        System.out.println(result);

介绍IF分支结构

流程控制用来控制程序中各语句的执行顺序
if选择结构是根据条件判断结果(结果必须是布尔值)选择不同的处理
可以画流程图来辅助理解if分支结构

public class Demo1 {
    public static void main(String[] args) {
        double score = 80; //小数保留两位或者四位
        if (score > 90){
            System.out.println("老师奖励一台iPhone11p");
        }
    }
}

使用复杂条件的if选择结构

public class Demo2 {
    public static void main(String[] args) {
        int javaScore = 91;
        int musicScore = 81;
        /*if (javaScore>90 && musicScore>80){
            System.out.println("给奖励");
        }
        if (javaScore==100 && musicScore>70){
            System.out.println("给奖励");
        }*/
        boolean result1=javaScore>90 && musicScore>80;
        boolean result2=javaScore==100 && musicScore>70;
        if (result1 || result2){
            System.out.println("给奖励");
        }
    }
}
  • 结合运算符的优先级编写条件
    最高的优先级:( )
    最低的优先级:=
    优先级:!> 算术运算符 > 关系运算符 > && > ||
    复杂条件使用括号提高可读性

if-else

public class Demo3 {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("输入java考试成绩:");
        int score = input.nextInt();
        if (score>90){
            System.out.println("奖励");
        }else {
            System.out.println("惩罚");
        }
        /*String result=score>90?"奖励":"惩罚";
        System.out.println(result);*/
    }
}

多重if选择结构

public class Demo4 {
    public static void main(String[] args) {
        int score=70;
        if (score>=90){
            System.out.println("优"); //注意顺序
        }else if (score>=80){
            System.out.println("良好");
        }else if(score>=60){
            System.out.println("中等");
        }else{
            System.out.println("不及格");
        }
    }
}

嵌套if选择结构

public class Demo5 {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("请输入百米赛跑的秒数:");
        double time = input.nextDouble();
        if(time<10){
            System.out.println("恭喜你进入决赛!");
            System.out.println("请输入您的性别:");
            String gender = input.next();
            if (gender.equals("男")){
                System.out.println("你进入男子组决赛");
            }else{
                System.out.println("你进入女子组决赛");
            }
        }else{
            System.out.println("您未能进入决赛");
        }
    }
}

Switch结构

public class Demo6 {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("请输入您出生年份末2位:");
        byte year = input.nextByte();
        switch (year){
            case 95:
                System.out.println("春光灿烂");
                break;
            case 96:
                System.out.println("tom你怕了没");
                break;
            case 97:
                System.out.println("牛年");
                break;
            case 98:
                System.out.println("虎年");
                break;
        }
    }
}
  • 注意事项:
    如果需要每个case执行完后跳出,在每个case后不要忘记写break
    Case后的常量值不能相同
    Default块顺序可以变动,但要注意其执行顺序。通常,default块放在末尾,也可以省略

程序调试debug

1.打个断点
2.使用debug来运行程序
3.单布执行查看程序流程及变量的值

总结

  • if选择结构,包括以下形式
    基本if选择结构:可以处理单一或组合条件的情况
    if-else选择结构:可以处理简单的条件分支情况
    多重if选择结构:可以处理分段的条件分支情况
    嵌套if选择结构:可以处理复杂的条件分支情况
  • switch选择结构
    多重分支并且条件判断是等值判断的情况

猜你喜欢

转载自blog.csdn.net/Helltaker/article/details/107214069