在Java語言中,常用的條件語句有兩種,一種是if語句,另一種是switch語句。本文將通過一個抽獎的例子,來分別介紹這兩種語句的使用方法和優(yōu)缺點。
假設(shè)我們要寫一個程序,模擬一個抽獎活動。用戶輸入一個數(shù)字(1-5),程序會隨機生成一個數(shù)字(1-5),如果兩個數(shù)字相同,則中獎,否則不中獎?,F(xiàn)在我們來看如何用if語句來實現(xiàn)。
public static void lotteryWithIf(int inputNumber) { int randomNumber = (int) (Math.random() * 5) + 1; if (inputNumber == randomNumber) { System.out.println("恭喜您中獎了!"); } else { System.out.println("很遺憾,您沒有中獎"); } }
如果用戶輸入的數(shù)字等于隨機生成的數(shù)字,就輸出中獎信息,否則輸出沒有中獎的信息。這種方法的優(yōu)點是代碼簡單易懂,缺點是當(dāng)條件較多時,代碼會變得臃腫。
現(xiàn)在我們來看如何用switch語句來實現(xiàn)同樣的功能。
public static void lotteryWithSwitch(int inputNumber) { int randomNumber = (int) (Math.random() * 5) + 1; switch (inputNumber) { case 1: if (randomNumber == 1) { System.out.println("恭喜您中獎了!"); } else { System.out.println("很遺憾,您沒有中獎"); } break; case 2: if (randomNumber == 2) { System.out.println("恭喜您中獎了!"); } else { System.out.println("很遺憾,您沒有中獎"); } break; case 3: if (randomNumber == 3) { System.out.println("恭喜您中獎了!"); } else { System.out.println("很遺憾,您沒有中獎"); } break; case 4: if (randomNumber == 4) { System.out.println("恭喜您中獎了!"); } else { System.out.println("很遺憾,您沒有中獎"); } break; case 5: if (randomNumber == 5) { System.out.println("恭喜您中獎了!"); } else { System.out.println("很遺憾,您沒有中獎"); } break; default: System.out.println("輸入有誤,請輸入1-5之間的數(shù)字"); } }
在這個方法里,我們用了switch語句來判斷用戶輸入的數(shù)字,然后根據(jù)不同的情況來輸出相應(yīng)的信息。雖然代碼比用if語句的方法稍微復(fù)雜了些,但是適用于條件比較多的情況,代碼可讀性更強。
總的來說,if語句和switch語句在Java中都是非常常用的條件語句,各有優(yōu)缺點,具體需要根據(jù)實際情況來選擇使用哪種語句。