Java 程式設計思想—— 第四章 控制執行流程
就像有知覺的生物一樣,程式必須在執行過程中控制他的世界,並做出選擇。在Java中你要使用執行控制語句來做出選擇。
1. true和false
Java不允許將一個數字當做布林值用。如果想在一個測試中使用布林值,就必須向將其通 過條件表示式轉換為布林值。
2 .if-else
3 .迭代
1).while、do-while和for用來控制迴圈,將他們劃分為迭代語句。
程式舉例:
/** *<ol> *<li>Java 程式設計思想 第四版 第四章 練習4 *<li>題目:寫一個程式,使用兩個巢狀的for迴圈和取餘操作符%來探測和列印素數。 * @author RobortZhao * @version 1.0 */ public class PrimeNumber { public static void main(String[] args) { int i,j; for(i = 2; i < 100; i++ ) { for(j = 2; j <=Math.sqrt(i); j++ ) { if((i % j) == 0) break; } if(j>Math.sqrt(i)) System.out.println(i); } } }
2).逗號操作符:只能在for迴圈的控制表示式裡使用。通過使用逗號操作符,可以在for語句內定義多個相同型別的變數。
4 .Foreach 語句
for(float x: f) 這條語句定義了一個float型別的變數x,進而將f陣列中的元素逐個賦值給x。對於返回一個數組的方法,都可以使用foreach語句。
foreach語句不僅在錄入程式碼時節省時間,而且閱讀起來更容易。
5. return的作用
1)指定一個方法返回什麼值。
2)導致當前的方法退出,並返回那個值。
6 .break和continue
和C,C++中的用法一樣。
無窮迴圈的兩種方式:while(true)和for(;;).
7 .臭名昭著的goto
Java中沒有goto,但卻有類似goto控制執行語句的用法:break,continue和標籤一起使用。
標籤:是後面跟有冒號的標示符,例如:labell;
在Java中,標籤起作用的唯一地方剛好是在迭代之前。即在標籤和迭代之間置入任何語句都不行。
Java中break,continue,以及它們和標籤一起使用時的區別:
1)一般的cotinue會退出最內層迴圈的開頭(頂部),並繼續執行。
2)帶標籤的continue會到達標籤的位置,並重新進入緊接著那個標籤後面的迴圈。
3)一般的break會中斷並跳出當前迴圈。
4)帶標籤的break會中斷並跳出標籤所指的迴圈。
要記住的重點是:在Java中使用標籤的唯一理由就是有迴圈巢狀存在,而且想從多層巢狀中break和continue。
程式舉例:
<span style="color:#333333;">//: control/LabeledFor.java
// For loops with "labeled break" and "labeled continue."
public class LabeledFor {
public static void main(String[] args) {
int i = 0;
outer: // Can't have statements here
for(; true ;) { // infinite loop
inner: // Can't have statements here
for(; i < 10; i++) {
System.out.println("i = " + i);
if(i == 2) {
System.out.println("continue");
continue;
}
if(i == 3) {
System.out.println("break");
i++; // Otherwise i never
// gets incremented.
break;
}
if(i == 7) {
System.out.println("continue outer");
i++; // Otherwise i never
// gets incremented.
continue outer;
}
if(i == 8) {
System.out.println("break outer");
break outer;
}
for(int k = 0; k < 5; k++) {
if(k == 3) {
System.out.println("continue inner");
continue inner;
}
}
}
}
// Can't break or continue to labels here
}
}</span>
執行結果:
8. switch
和c,c++中的用法一樣。