如果我们已经有了 if-else if-else 语句,您能告诉我为什么在 java 中还需要 switch-case 语句吗?
switch-case 语句有性能优势吗?
最佳答案
Switch 语句简化了 if else block 的长列表,从而提高了可读性。另外,它们还允许出现失败的情况。
考虑以下因素:
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...
你明白了。尤其是开关的亮点在于蜜蜂
和苍蝇
。那里的逻辑很难简洁地捕获,特别是如果它们共享的不仅仅是打印语句。
关于java - 如果我们已经有了 if-else if-else 语句,为什么在 java 中还需要 switch-case 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44165392/