本教程操作環境:windows7系統、java10版,DELL G3電腦。
1.控制表達式不同
switch后面的控制表達式只能是byte、short、char、int、String和枚舉類型,不能是boolean類型
if后面的控制表達式是boolean類型;
2.結構不同
switch:主要是將choose中的值和某一個case值進行比較,而case值是一個確定的值。
if else:每個執行的語句前都會有一個條件,這個條件可以是類似x==0的這種匹配一個確定值的布爾表達式,也可以是x>10的這種匹配一個范圍的布爾表達式。
switch語句
if else語句
3.執行效率不同
switch的執行效率要高于if語句。
switch會生成一個數據統計表,將case后面的值全部統計起來,匹配時先拿表中的數據進行比較,如果有則直接跳轉到相應case語句;如果沒有,則直接跳轉到default語句。
if else語句需要一條一條的去進行取值范圍的判斷,直到找到正確的選項位置,這樣的話勢必會浪費大量的時間。
以上就是java switch和if語句的不同,在使用范圍上if語句更廣一點,但也逐條判斷在效率方面會比 switch要慢,在實際運用中大家可以根據需求進行挑選。更多關于“Java培訓”的問題,歡迎咨詢千鋒教育在線名師。千鋒已有十余年的培訓經驗,課程大綱更科學更專業,有針對零基礎的就業班,有針對想提升技術的好程序員班,高品質課程助力你實現java程序員夢想。