如果我们已经有if-else-if-else语句,为什么我们需要java中的switch-case语句
如果我们已经有if-else-if-else语句,为什么我们需要java中的switch-case语句呢如果我们已经有if-else-if-else语句,为什么我们需要java中的switch-case语句,java,Java,如果我们已经有if-else-if-else语句,为什么我们需要java中的switch-case语句呢 switch case语句有什么性能优势吗?switch语句简化了if-else块的长列表,提高了可读性。此外,它们还允许出现故障案例 考虑以下几点: String str = "cat" switch(str){ case "cat": System.out.println("meow"); break; case "dog":
switch case语句有什么性能优势吗?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");
}
现在让我们试着把它写得像埃尔斯一样
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...
你明白了。特别是开关发光的地方是蜜蜂和苍蝇。那里的逻辑很难简洁地捕捉,特别是如果它们共享的不仅仅是一个打印语句。但是如果else允许更复杂的条件,那么失败并不是什么优势。@Kayaman但是使用切换后的可读性要好得多,这在很大程度上取决于你在做什么。@Kayaman非常正确。这就是为什么我们有两种结构,当你考虑它的时候,它们是完全不同的。(剧透警报:JVM内部甚至有两种不同的开关盒构造。)两者都有什么错?有四个循环结构有什么错?有许多不同的赋值运算符有什么不对?同时使用lambdas和匿名类有什么问题?没有什么。你知道哪些计算机语言不提供不同的方式来表达一个算法,以便清晰和易于维护?为什么我们可以在已经有加法的情况下进行乘法?