【技术累积】【点】【java】【2】聊一聊似曾相识的switch语句

闲聊

有些东西并不能像爱因斯坦老先生说的那样,书上查的到就不用去记住...


开始

  • java使用了C的所有流程控制语句;
  • java中同样有switch语句;
  • 大多数情况下,switch都可以用if替换;

好,下面说容易忘掉的,和可能被忽视的一些东西:

  • 基本结构(tm我就是忘了怎么写基本结构的,谁让自己依赖ide太多,谁让ide敲switch只有个switch()出来)
switch (表达式) {
case 条件1:
    语句1;
    break;
case 条件2:
    语句2;
    break;
...
default:
    语句;
}
  • 一般流程,switch对象,然后进入case,直到遇到break结束——所以,1、default是默认case;2、一般每个case都写break,不然你可以试试,当然,特殊情况,多个case公用一个case;
  • 注意:default不一定写在最后,所以不一定一定不需要break; 保险起见,或者说编程风格来说,请给每一个case加上break;
·
        switch (a){
            default:
                shit.getNum();
            case "":
                break;
        }
  • 注意定义格式是这样的
switch(integral-selector) {
    case integral-value : statement: break;
    case integral-value : statement: break;
    ...
    default:statement;
}

其中integral-selector是指整数选择因子,也就是说是一个定值,比如int,char这种,特殊的有枚举(所以不能直接用的,可以用这个变通),但是复杂类、float这种就不行,比如

·
        String a = "a";
        switch (a) {
            case "a":
                break;
        }

        Shit shit = new Shit();
//        switch (shit) {
//
//        }

        switch (shit.num){

        }

        switch (shit.getNum()){

        }
        
        private class Shit {
        int num = 0;

        int getNum(){
            return this.num;
        }
    }

integral-value是整数值,也就是要确定的值,所以类的方法这种是不行的(其实这里我还有点疑问。。)

//        switch (a){
//            case shit.getNum():
//                break;
//        }

结束

麻雀虽小,五脏俱全。

参考博客:Java switch 详解

原文地址:https://www.cnblogs.com/andy1202go/p/9296995.html