請問我們爲什麼我們需要在java中使用switch-case語句,如果我們已經有if-else if-else聲明。爲什麼我們在java中需要switch-case語句,如果我們已經有if-else if-else語句
switch-case語句是否有任何性能優勢?
請問我們爲什麼我們需要在java中使用switch-case語句,如果我們已經有if-else if-else聲明。爲什麼我們在java中需要switch-case語句,如果我們已經有if-else if-else語句
switch-case語句是否有任何性能優勢?
開關語句簡化了if塊的長列表,提高了可讀性。此外,他們允許通過案件。
考慮以下幾點:
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...
你明白了吧寫吧。尤其在開關閃耀的地方是bee
和fly
。那裏的邏輯將很難精確地捕捉到,特別是如果它們不僅僅是一個印刷聲明而且它們共享的話。
當你考慮它們時,它們是完全不同的東西。 (擾流警報:內部在JVM中甚至有兩種不同的開關情況構造。) – biziclop
兩者都有什麼問題?有四個循環結構有什麼問題?有許多不同的賦值運算符有什麼問題?同時擁有lambdas和匿名類有什麼問題?沒有。你知道什麼樣的計算機語言,爲了清晰和便於維護,不提供表達算法的不同方法? –
爲什麼我們在已經有可以做同樣事情的加法時可以乘以數字? – csmckelvey