java if-then和if-then-else語句(翻譯自Java Tutorials)


原文出自 http://www.cnblogs.com/ggjucheng/archive/2012/12/16/2820834.html

英文出自 http://docs.oracle.com/javase/tutorial/java/nutsandbolts/if.html

if-then語句

if-then語句是控制流語句,最基本的語句。它告訴程序,只有當測試計算返回true,才執行特定代碼。例如,Bicycle 類只允許在bicycle運動時,才可以使用剎車減速。applyBrakes 方法的一個可能的實現如下:

void applyBrakes() {
    // the "if" clause: bicycle must be moving
    if (isMoving){ 
        // the "then" clause: decrease current speed
        currentSpeed--;
    }
}

當該測試計算為false(表示自行車不在運動中),if-then語句控制代碼跳轉到末尾。

還有,大括號是可選的,沒有大括號,那么 "then" 子句只包含一個語句。

void applyBrakes() {
    // same as above, but without braces 
    if (isMoving)
        currentSpeed--;
}

決定何時省略大括號是一種個人品味的問題。忽略大括號,可能會造成代碼的脆弱。如果第二個語句要添加到"then"字句,一個常見的錯誤會忘添加需要的新大括號。編譯器無法捕捉這種情況的錯誤,程序將會出現錯誤的結果。

 

if-then-else語句

當"if" 字句計算為false,if-then-else語句提供程序執行的第二個路徑。可以在applyBrakes方法中,使用if-then-else語句,當bicycle沒有運動,請求剎車減速,執行一些行為。這個情況下,這個行為簡單的輸出一個錯誤信息說,bicycle已經停止了。

void applyBrakes() {
    if (isMoving) {
        currentSpeed--;
    } else {
        System.err.println("The bicycle has " + "already stopped!");
    } 
}

下面的程序,IfElseDemo,根據測試的score的值,分配一個級別:分數90%以上為A,80%以上為B,依此類推。

class IfElseDemo {
    public static void main(String[] args) {

        int testscore = 76;
        char grade;

        if (testscore >= 90) {
            grade = 'A';
        } else if (testscore >= 80) {
            grade = 'B';
        } else if (testscore >= 70) {
            grade = 'C';
        } else if (testscore >= 60) {
            grade = 'D';
        } else {
            grade = 'F';
        }
        System.out.println("Grade = " + grade);
    }
}

程序的輸出結果是:

    Grade = C

你可能注意到testscore的值在復合語句中可以滿足多個表達式:76 >= 70 和 76 >= 60。但是,一旦一個條件滿足,合適的語句會執行(grade = 'C';),然后剩余的條件不會被計算。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM