控制執行流程
java中涉及的關鍵字包括if-else,while,do-while,for,return,break,及switch。java不支持goto語句。
一、true和false
所有條件語句都利用表達式的真假來決定執行路徑。布爾表達式必須產生一個布爾結果。
如果在布爾測試中使用一個非布爾值,比如if(a),那首先必須用一個條件表達式將其轉換爲布爾值,如if(a!=0)
二、if-else
if-else語句是控制流程順序的最基本的形式,其中else是可選的。
三、迭代
while、do-while 和 for 用來控制循環,有時將他們劃分爲迭代語句。
while:先判斷,後執行
do-while:先執行,後判斷
for:迭代前要進行初始化,並進行條件測試。( init ; boolean-exp1 ; step)
逗號操作符:java唯一用到逗號操作符的地方就是for循環的控制表達式。( init1,init2 ; boolean-exp1,boolean-exp2 ; step1,step2)
在控制表達式的初始化和步進控制部分,可以使用一系列由逗號分隔的語句;
四、foreach
foreach語法是一種用於數組和容器的更加簡潔的for語法,表示不必創建int變量去對由訪問項構成的序列進行計數,foreach自動產生每一項。
五、return
java中有多個關鍵詞表示無條件分支,他們只是表示這個分支無需任何測試即可發生。包括:return,break,continue;
return:可以返回一個方法的返回值,還可以導致當前方法退出
六、break和continue
任何迭代語句的主體部分,都可以用break和continue控制循環的過程。
break用於強行退出循環,不執行循環中剩餘的語句。continue停止執行當前的迭代,然後退回循環起始處,開始下次迭代。
七、臭名昭著的goto
編程語言一開始就有goto關鍵詞,起源於彙編語言的程序控制:條件成立就進入,不成立就不進入。
goto是在源碼級上的跳轉,這導致了它不好的聲譽。java沒有使用goto,通過限制語句的能力,反而使一項語言特徵更加有用
八、switch
switch有時也被規劃爲一種選擇語句。實現多路選擇。
格式:switch(){
case case1 : statement;break;
case case2 : statement2;break;
...
default:statement;
}
若case以break結尾,使流程跳轉至switch主題的末尾。若break省略,會執行後續的case語句,直到遇到一個break爲止。
九、總結
本章介紹了大多數編程語言都具有的基本特徵:運算,操作符,優先級,類型轉換,選擇和循環等。