if-else語句或許是控制程序流程最基本的形式。其中的else是可選的,所以可按下述兩種形式來使用if:
if(布爾表達式)
語句
或者
if(布爾表達式)
語句
else
語句
條件必須產生一個布爾結果。“語句”要麼是用分號結尾的一個簡單語句,要麼是一個復合語句——封閉在括號內的一組簡單語句。在本書任何地方,只要提及“語句”這個詞,就有可能包括簡單或復合語句。
作為if-else的一個例子,下面這個test()方法可告訴我們猜測的一個數字位於目標數字之上、之下還是相等:
static int test(int testval) { int result = 0; if(testval > target) result = -1; else if(testval < target) result = +1; else result = 0; // match return result; }
最好將流程控制語句縮進排列,使讀者能方便地看出起點與終點。
1. return
return關鍵字有兩方面的用途:指定一個方法返回什麼值(假設它沒有void返回值),並立即返回那個值。可據此改寫上面的test()方法,使其利用這些特點:
static int test2(int testval) { if(testval > target) return -1; if(testval < target) return +1; return 0; // match }
不必加上else,因為方法在遇到return後便不再繼續。