如果我们已经有了if-else if-else语句,请告诉我为什么我们在java中需要switch-case语句。
switch-case语句有任何性能优势吗?
答案 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...
你明白了。特别是开关闪耀的地方是bee
和fly
。那些逻辑很难简洁地捕捉,特别是如果他们分享的不仅仅是印刷声明。