一、對switch的理解
1、switch的括號里面放的是一個變量
2、case相對應的值是關於這個變量的一個值
3、switch里面的這個變量和case里面這個變量不會進行隱式類型的一個轉換,而是進行了恆等比較。所以一定要注意這個變量和這個case里面的值是不是一個類型
4、關於switch里面的case會有一個穿透效果,這個效果有的時候會給我們帶來好處(詳情請看最后一個案例),有的時候會給我們帶來壞處,如果不需要這種穿透效果的時候加break
5、swicth里面如果這個變量沒有匹配到case里面這個值,那么就需要返回一個信息。所以在case的末尾一定要加上一個default;這樣既給用戶的體驗比較完美,另一方面對代碼的今后維護也有很大的幫助
6、比較的值是固定值
二、switch和if的應用場景
if :
1、具體的值進行判斷
2、區間的判斷
3、對運算的結果是boolean類型表達式進行判斷 true false
switch:
1、對具體的值進行判斷
2、值的個數是固定的
對於幾個固定的值判斷,建議使用switch 語句。因為switch 語句會將具體的答案都加載進內存,效率相對高一點
基於代碼的可讀性:如果條件較少時,if-else容易閱讀,而條件較多時switch更容易閱讀
