就像有知覺的生物一樣,程序必須在執行過程中控制他的世界,並做出選擇。在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++中的用法一樣。