程序流程控制-分支结构-switch

1、通过比较值是否相等,来决定执行哪条分支。

根据男女性别不同,推荐不同的书给其观看

public class SwitchDemo3 {
    public static void main(String[] args) {
        // 目标:搞清楚switch分支结构的应用和写法,理解其执行流程。
        test1();
    }

    // 需求:根据男女性别的不同,推荐不同的书本信息给其观看。
    public static void test1() {
        // 1、让用户输入选择自己的性别。
        System.out.println("请输入您的性别:");
        Scanner sc = new Scanner(System.in);
        String sex = sc.next();  // "男"  "女"  "其他的"

        // 2、根据用户输入的性别这个值,判断该做什么
        switch (sex) {
            case "男":
                System.out.println("推荐《Java从入门到精通》");
                break;
            case "女":
                System.out.println("推荐《从您的全世界路过》");
                break;
            default:
                System.out.println("你不是人,没有东西推荐!");
        }
    }
}

2、表达式类型只能是byte、short、int、char,JDK5开始支持枚举,JDK7开始支持string、不支持double、float、long。

public static void test1() {
//        double a = 0.1 + 0.2;
//        switch (a) {
//            case 0.3:
//                System.out.println("10.5");
//                break;
//            case 10.8:
//                System.out.println("10");
//                break;
//            default:
//                System.out.println("default");
//        }
    }

3、case给出的值不允许重复,且只能是字面量,不能是变量。

public static void test2() {
        int a = 10;
        int b = 15;
        switch (a) {
            case 10:
                System.out.println("10");
                break;
            case 15:
                System.out.println("10");
                break;
            default:
                System.out.println("default");
        }
    }

 4、正常使用switch的时候,忘记写break,会出现穿透现象(穿透现象的应用)。

public static void test3() {
        String week = "周六";
        switch (week) {
            case "周一":
                System.out.println("埋头苦干,解决bug");
                break;
            case "周二":
            case "周三":
            case "周四":
                System.out.println("请求大牛程序员帮忙");
                break;
            case "周五":
                System.out.println("自己整理代码");
                break;
            case "周六":
            case "周日":
                System.out.println("打游戏");
                break;
            default:
                    System.out.println("星期信息有误!");
        }
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值