你經常需要控制程式的邏輯流程。如果某個條件成立,則執行某些操作;不成立則執行另外的操作。有時你想多次重複某個操作直到條件有所變化。你可以使用兩種控制語句來實現以上提及的邏輯流程:一種是條件邏輯語句,判斷條件為true還是false;另一種是迴圈語句,對乙個操作重複一定的次數,或者一直重複到某個條件變為false為止。
if/then是一組條件邏輯語句,用法就跟這兩個單詞在英語中的意思差不多:「如果(if)下雨,那麼(then)我就帶把傘。」這個語句可以這樣用:
if(條件) else
緊接著「if」的圓括號裡必須是乙個返回布林型別值(true或false)的表示式。例如:
int myweight = 72;
if(myweight > 100) else
「else」不是必需的:
int myheight = 181;
if(myheight > 200)
只有當if的條件語句為true時,才執行花括號裡的操作;如果條件語句不為true,則什麼都不做。你可以試一試把條件設為false,看看結果。
boolean alldone = false;
if(!alldone) else
條件控制語句還有一種寫法:
if(age == 5) else if(age == 25) else
在上面這個例子裡,使用了乙個新語句「else if」,其作用在於在進入else條件判斷之前插入乙個判斷。也就是如果第乙個條件不為true,那麼就看else if的條件是否為true,如果仍然不為true,就流到最後的else語句。
int i;
for(i = 0; i < 10; i++)
for語句的條件裡有3個部分,如圖2-5所示。
整數i用來設定迴圈執行的次數,每次迴圈執行花括號裡的語句。初始化for迴圈的時候,把i設為0,只要i不大於10,迴圈繼續執行,每執行完一次迴圈,i值增加1。
i也可以用自減來計數:
圖2-5:for迴圈
for迴圈另外乙個巨大的用處就是遍歷陣列元素:
int intarr = ;
int sum = 0;
for(int j = 0; j < 6; j++)
迴圈每執行一次,陣列intarr的下乙個整型元素就會累加到sum。
while迴圈和for迴圈類似,只是看起來簡單一點:
while(trueo***lse)
只要while括號裡的表示式仍然為true,迴圈就繼續執行。要注意的是,如果括號裡表示式一直不變為false,那麼迴圈永遠不會停下來,程式就會跑死。這叫「死迴圈」——無法終止並跳出的迴圈,會讓程式無法使用甚至崩潰。所以在使用控制語句的時候,要對終止條件多加小心。下面是乙個使用了計數器的例子:
int j = 0;
while(j < 100)
每執行一次迴圈,j自加1。當j不小於100的時候,就會跳出迴圈,程式繼續往下執行:
boolean ready = false;
float number = 0.0;
while(ready != true)
} print(" we're ready ");
在上面這個例子裡,使用了乙個自增的數和乙個布林型變數,去判斷是否準備好(ready)跳出迴圈。直到變數ready變為true,迴圈才會停止,然後列印出「we抮e ready」的訊息。
for(int i = 0; i< 10; i++)
println(i + " is not divisible by 2");
}
程式列印出以下內容:
1 is not divisible by 2
3 is not divisible by 2
5 is not divisible by 2
7 is not divisible by 2
9 is not divisible by 2
使用break語句可中止迴圈。通常為了尋找某個東西而遍歷乙個陣列,而當你找到它的時候,就可以用break語句輕鬆中止迴圈不再查詢了,**可以這樣寫:
int intarr = ;
int counter = 0;
while(counter < intarr.length)
counter++;
} // break執行完畢後,**從這裡繼續執行
print(counter); // 元素intarr[4]就是5
《互動式程式設計 第2版》一1 3 設計與互動
偉大的工業設計師henry dreyfuss把設計稱為 對人的測量 意思是,設計是理解和分析人類行為的絕佳途徑。如何定義 設計 一詞,這留給別人去想 而我則關注互動設計作為 創作一種工具或方法 的方面,我們使用這種工具或方法完成一些特定的事情。需要完成的事情越具體或特殊,所需的工具就越要精雕細刻,互...
《互動式程式設計 第2版》一2 7 作用域
作用域有時讓人很討厭,由它而起的問題通常難以定位。幸而要避免這樣的問題其實還挺簡單。先看一段processing void setup i 1 print i 我們在第3章會仔細講processing平台,現在你看不懂也沒有關係,直接編譯它。編譯之後processing的控制台視窗會彈出些有趣的訊息...
《互動式程式設計 第2版》一2 7 作用域
作用域有時讓人很討厭,由它而起的問題通常難以定位。幸而要避免這樣的問題其實還挺簡單。先看一段processing void setup i 1 print i 我們在第3章會仔細講processing平台,現在你看不懂也沒有關係,直接編譯它。編譯之後processing的控制台視窗會彈出些有趣的訊息...