2019年4月4日 星期四

[JAVA程式] if..else條件式

[JAVA程式]  if..else條件式

語法如下:

if(條件式) {
    陳述句;
}
else {
    陳述句;
}

條件式運算結果為true會執行if的{與}中的陳述句,否則執行else的{與}中的陳述句,如果條件式不成立時並不想作任何事,則else可以省略。


public class Odd {
    public static void main(String[] args) {
        int input = 10;
        int remain = input % 2; 
        if(remain == 1) { // 餘數為1就是奇數
            System.out.printf("%d 為奇數%n", input); 
        }
        else {
            System.out.printf("%d 為偶數%n", input); 
        }
    }
}

 輸出畫面
$javac Odd.java
$java -Xmx128M -Xms16M Odd
10 為偶數


Java中並沒有真的有if...else if的語法,這是省略{與}加上程式碼排版後的結果,如果不省略{與},原本的程式應該是:

if(條件式一) {
    ...
}
else {
    if(條件式二) {
        ...
    }
    else {
        ...
    }
}

如果條件式一不滿足,就執行else中的陳述,而在這邊進行條件式二測試,如果滿足就執行條件式二{與}中的陳述,如果省略了第一個else的{與}:

if(條件式一) {
    ...
}
else
    if(條件式二) {
        ...
    }
    else {
        ...
    }

由於Java是個自由格式語言,可以適當地排列這個片段,就會變為方才看到的if...else if寫法,就閱讀上似乎比較好讀一些。

public class Level {
    public static void main(String[] args) {
        int score = 88;
        char level; 
        if(score >= 90) {
            level = 'A';
        } 
        else if(score >= 80 && score < 90) {
            level = 'B';
        }
        else if(score >= 70 && score < 80) {
            level = 'C';
        }
        else if(score >= 60 && score < 70) {
            level = 'D';
        }        
        else {
            level = 'E';
        }
        System.out.printf("得分等級:%c%n", level);
    }
}

 輸出畫面
$javac Level.java
$java -Xmx128M -Xms16M Level
得分等級:B


沒有留言:

張貼留言

2024_09 作業3 以Node-Red 為主

 2024_09 作業3  (以Node-Red 為主  Arduino 可能需要配合修改 ) Arduino 可能需要修改的部分 1)mqtt broker  2) 主題Topic (發行 接收) 3) WIFI ssid , password const char br...