如果我们已经有if-else if-else语句,为什么我们需要java中的switch-case语句

时间:2017-05-24 17:50:23

标签: java

如果我们已经有了if-else if-else语句,请告诉我为什么我们在java中需要switch-case语句。

switch-case语句有任何性能优势吗?

1 个答案:

答案 0 :(得分:1)

Switch语句简化了if else块的长列表,提高了可读性。此外,他们还允许通过案件。

请考虑以下事项:

String str = "cat"
switch(str){

    case "cat":
        System.out.println("meow");
        break;
    case "dog":
        System.out.println("woof");
        break;
    case "horse":
    case "zebra": //fall through
        System.out.println("neigh");
        break;
    case "lion":
    case "tiger":
    case "bear":
        System.out.println("oh my!");
        break;
    case "bee":
        System.out.print("buzz ");
    case "fly":
        System.out.println("buzz"); //fly will say "buzz" and bee will say "buzz buzz"
        break;
    default:
        System.out.println("animal noise");
}

现在让我们尝试将其写成if-elses

String str = "cat"
if(str.equals("cat")){
   System.out.println("meow");
}
else if(str.equals("dog")){
   System.out.println("woof");
}
else if(str.equals("horse") || str.equals("zebra")){
   System.out.println("neigh");
} else if...

你明白了。特别是开关闪耀的地方是beefly。那些逻辑很难简洁地捕捉,特别是如果他们分享的不仅仅是印刷声明。