1. 程式人生 > >Java 程式設計思想—— 第四章 控制執行流程

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++中的用法一樣。