Java009if_else_while_do_while_for_foreach

Java009if_else_while_do_while_for_foreach

①if-else

②while_do-while_for迭代

a.while

b.do-while

c.for

d.無窮循環

③逗號操作符/分隔符

a. 逗號操作符

b. 逗號分隔符

④foreach

 

Java009if_else_while_do_while_for_foreach

控制執行流程:就像有知覺的生物一樣,程序必須在執行過程中控制它的世界,並做出選擇。在Java中,你要使用執行控制語句來做出選擇。所有條件語句都利用條件表達式的真或假來決定執行路徑。注意Java不允許用一個數字作爲布爾值使用(C和C++允許,非零-true,零-false)。

①if-else

if-else語句是控制程序流程的最基本形式,其中else是可選的,格式如下:

if(Boolean-expression)

statement

if(Boolean-expression)

statement

else

statement

if(Boolean-expression)

statement

else if

statement

else if

statement

...

else

statement

布爾表達式必須產生一個布爾結果,statement指用分號結尾的簡單語句,或複合語句(封閉在花括號內的一組簡單語句)。

儘管Java與它之前產生的C和C++一樣,都是“自由格式”的語言,但是習慣上還是將流程控制語句的主體部分縮進排列,使讀者能方便地確定起始和終止。

②while_do-while_for迭代

while/do-while/for用來控制循環,有時將它們劃分爲迭代語句(iteration statement)。語句會重複執行,直到起控制作用的布爾表達式得到“假”的結果爲止。

a.while

while(Boolean-expression)

statement

在循環剛開始,會計算一次布爾表達式的值;而在語句的下一次迭代開始前會再計算一次。只要條件滿足就會繼續執行語句,當條件不再滿足則跳出循環不繼續再執行。

b.do-while

do

statement

while(Boolean_expression)

while和do-while的唯一區別就是do-while中的語句至少會執行一次,既便表達式第一次就被計算爲false。而在while中,如果條件第一次就爲false,那麼其中的語句根本就不會得到執行。在實際應用中,while比do-while更常用一些。

c.for

for循環可能是最常使用的迭代形式,其在第一次迭代之前需要進行初始化。隨後,它會進行條件測試,而且在每次迭代結束時,進行某種形式的“步進”。格式如下:

for(initialization; Boolean-expression; step)

statement

初始化(initialization)表達式/布爾表達式(Boolean-expression),或者步進(step)運算,都可以爲空。每次迭代前會測試布爾表達式。若獲得結果是false,就會執行for語句後面的代碼行。每次循環結束,會執行一次步進。即語句執行完畢纔會步進。

for循環常用於執行“計數”任務。

 
 

注意變量c是在程序用到它的地方被定義的,也就是在for循環的控制表達式裏,而不是在main()開始的地方定義的。c的作用域就是for控制的表達式的範圍內。

對於向C語言那樣的傳統的過程型語言,要求所有變量都在一個塊的開頭定義,以便編譯器在創建這個塊的時候,可以爲那些變量分配空間。而在Java和C++中,則可在整個塊的範圍內分散變量聲明,在真正需要的地方纔加以定義。這樣便可形成更自然的編程風格,也更易理解。

d.無窮循環

while(true)

for(;;)

③逗號操作符/分隔符

a.逗號操作符

Java中唯一用到逗號操作符的地方就是for循環的控制表達式。在控制表達式的初始化和步進控制部分(布爾表達式部分,只要稍微思索一下自然會明白爲何不能使用逗號操作符分隔。假如可以這麼做,豈不是會有多個布爾表達式,也可能會有多個布爾值結果,會亂的),可以使用一系列由逗號分隔的語句;而且那些語句均會獨立執行。

 
 

 

通過使用逗號操作符,可以在for語句內定義多個變量,但是它們必須具有相同的類型。

b.逗號分隔符

用來分隔函數的不同參數

④foreach

foreach是一種更加簡潔的for語法用於數據和容器。不必創建int變量去對由訪問項構成的序列進行計數,foreach將自動產生每一項。

foreach(float x : f)這條語句定義了一個float類型的變量,繼而將每一個f的元素賦值給x。

foreach語法不僅在錄入代碼時可以節省時間,更重要的是,它閱讀起來也要容易很多,它說明你正在努力做什麼(例如獲取數組的每一個元素),而不是給出你正在如何做的細節(例如正在創建索引,因此可以使用它來選取數組中的每一個元素)。只要有可能就儘量使用foreach語法吧。

 
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章