选择结构

选择结构

If结构

if单选择结构

语法:

    if(xx){//boolean语句为真时执行{}内语句,否则跳过
        xxxx;
    }

If双选择结构

语法:

    if(xx){//boolean语句为真时执行
        xxxx;
    }
    else{//boolean语句为假时执行
        xxxx;
    }

If多选择结构

语法:

    if(xx){//boolean语句为真时执行
        xxxx;
    }
    else if(xx){//boolean语句为真时执行
        xxxx;
    }
    else if(xx){//boolean语句为真时执行
        xxxx;
    }
    ...
    ...
    ...    
    else{//上述语句都不满足时执行
        xxxx;
    }

注意

  1. if语句中至多有一个else语句,else语句在所有else if语句之后
  2. if语句中可以有若干个else if语句,要在else语句之前
  3. 一旦其中一个else if语句判断条件为true,其余else if及else语句都被跳过,不执行

拓展

    String s = "xxx";

    //equals:用于判断字符串是否相等
    if(s.equals("Hello")) {
        System.out.println(s);
    }

switch结构

语法

    switch (xxx){//将变量xxx与下列case比对,相等时执行对应的case后语句
        case 'A':
            System.out.println("AA");
            break;
        case 'B':
            System.out.println("BB");
            break;
        case 'C':
            System.out.println("CC");
            break;
        case 'D':
            System.out.println("DD");
            break;
        default://上述所有case都不符合时执行
            System.out.println("???");
            break;
    }

注意

case穿透:当一个case后不添加break时,这个case执行后后续case会全部执行

拓展

在jdk7后,switch表达式的判断可以是字符串

    String name = xxx;
    switch(name){//变量name可以是字符串
        case "aaa":
            System.out.println("?");
            break;
        case "Bry5e":
            System.out.println("666");
            break;
        default:
            System.out.println("?");
            break;
    }

瞎写的程序

package com.Bry5e.struct;

import java.util.Scanner;

public class If_Switch {
    public static void main(String[] args){

        Scanner scanner = new Scanner(System.in);

        int score = -1;//记录成绩
        char rank = 0;//划分等级

        System.out.println("欢迎使用成绩等级查询\n请输入成绩:");

        if(scanner.hasNextInt()){//从键盘收入成绩
            score = scanner.nextInt();
        }

        scanner.close();//成绩输入完成,关闭scanner

        if(score<=100 && score>=0) {//当成绩合法时,划分等级
            if (score <= 100 && score >= 80) {
                rank = 'A';
            } else if (score < 85 && score >= 70) {
                rank = 'B';
            } else if (score < 70 && score >= 60) {
                rank = 'C';
            } else if (score < 60 && score >= 0) {
                rank = 'D';
            }
            System.out.println("你的成绩等级是"+rank+"");
        }
        else{//成绩不合法时
            System.out.println("能不能整个阳间的成绩?");
        }

        switch(rank){//给不同的等级写评语
            case 'A':
                System.out.println("不错哦");
                break;
            case 'B':
                System.out.println("害行吧");
                break;
            case 'C':
                System.out.println("咋回事呢");
                break;
            case 'D':
                System.out.println("差不多得了");
                break;
            default:
                System.out.println("边玩去!");
        }
    }
}
posted @ 2021-02-26 23:23  Bry5e  阅读(59)  评论(0)    收藏  举报