流程控制-switch语句

阅读:154

之前学习过if/else这种流程控制语句,遇到多个条件判断时使用,显得十分的笨拙。这里我们完全可以改成switch语句。

我们把之前的例子拿出来,用switch重新写一遍,代码如下:

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

        String from = "south";

        switch (from) {
            case "east":
                System.out.println("you are from east!");
                break;

            case "south":
                System.out.println("you are from south!");
                break;

            case "west":
                System.out.println("you are from west!");
                break;

            default:
                System.out.println("你是东北人!");
                break;
        }

    }
}

运行输出:you are from south!

switch语句从相匹配的case的语句,直到遇到break语句,或者一直执行到最后结束。如果所有的case都没有匹配,而有default,就会执行default语句。

这里要注意:遇到匹配的case开始,如果没有break语句,会一直执行到最后。

现在把上面的程序修改下,运行下会输出什么结果?

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

        String from = "south";

        switch (from) {
            case "east":
                System.out.println("you are from east!");
                break;

            case "south":
                System.out.println("you are from south!");

            case "west":
                System.out.println("you are from west!");

            default:
                System.out.println("你是东北人!");
        }

    }
}

case标签可以有哪些变量呢?

没错,输出为:

you are from south!
you are from west!
你是东北人!

 

  1. 类型可以为char、byte、short或int的常量表达式。
  2. 枚举。
  3. 从JDK7开始,可以使用字符串常量。
  4. C

© 版权归知否网(zhifou.net)所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权知否网将依法追究其法律责任。
读后有收获,请作者喝杯咖啡

精彩留言

发表评论
更多精彩内容,请关注微信公众号