1. 程式人生 > 實用技巧 >JAVA的學習日記8

JAVA的學習日記8

Java For迴圈

  • 雖然所有迴圈結構都可以用while或者do...while來表示,但是Java提供了另外一種語句-for迴圈,使一些迴圈結構變得更加簡單
  • for迴圈語句是支援迭代的一種通用結構,是最有效、最靈活的迴圈結構
  • for迴圈執行的次數是在執行前就確定的。
  • 語法:
for(初始化;布林表示式;更新){
      //程式碼語句
}

練習:計算0到100之間的奇數和偶數的和

package com.cdoudou.struct;

public class ForDemo01 {
    public static void main(String[] args) {

        int a = 1;//初始化條件
        while(a < 100){//條件判斷
            System.out.println(a);//迴圈體
            a += 2;//迭代
        }


        System.out.println("while迴圈結束");
        
        //初始化;條件判斷;迭代
        for (int i = 0; i < 100; i+=2) {
            System.out.println(i);
        }
        System.out.println("for迴圈結束");

        /*
        關於for迴圈需要注意的地方:
            是先執行初始化步驟,可以宣告一種型別,但可以初始化一個或多個迴圈控制變數,也可以是空語句
        然後,檢查布林表示式的值。如果為true,迴圈體被執行,如果為false,迴圈終止,開始執行迴圈體後面的語句。
        執行一次迴圈後,更新迴圈控制變數(迭代因子控制迴圈變數的增減)
        再次檢測布林表示式,迴圈執行上面的過程
         */
    }
}

練習:用while或for迴圈輸出1-1000之間能被5整除的數,並且每行輸出3個

package com.cdoudou.struct;

public class ForDemo02 {
    public static void main(String[] args) {
        //用while或for迴圈輸出1-1000之間能被5整除的數,並且每行輸出3個
        for (int i = 0; i < 1000; i++) {
            if(i % 5 == 0){
                System.out.print(i + "\t"); //注意這裡不能寫成'\t'
            }
            if(i % (5 * 3) == 0){
                System.out.println();
//                System.out.print();   表示為不換行的意思,要換行加一個"\n"
            }
        }

    }
}

練習:列印九九乘法表

package com.cdoudou.struct;

public class ForDemo03 {
    public static void main(String[] args) {

        for(int i = 1; i <= 9; i ++)
        {
            for(int j = 1; j <= i; j ++)
            {
                System.out.print(j+"*"+i+"="+i*j+"\t");
            }
            System.out.println();
        }
    }
}

增強for迴圈

  • 陣列的時候重點使用
  • Java5引入了一種主要用於陣列或集合的增強型for迴圈
  • Java增強for迴圈語法格式如下:
for(宣告語句:表示式){
      //程式碼語句
}
  • 宣告語句:宣告新的區域性變數,該變數的型別必須和陣列元素的型別匹配。其作用域限定在迴圈語句塊,其值與此時陣列元素的值相等。
  • 表示式:表示式是要訪問的陣列名,或者是返回值為陣列的方法

package com.cdoudou.struct;

public class ForDemo04 {
    public static void main(String[] args) {
        //定義一個數組
        int[] numbers = {10, 20, 30, 40, 50};

        for(int i = 0; i < 5; i ++){
            System.out.println(numbers[i]);
        }
        System.out.println("=================");
        //遍歷陣列元素
        for(int x:numbers){
            System.out.println(x);
        }
    }
}

遍歷時也很方便,但是不能用下標取值

break和continue

  • break在任何迴圈語句的主體部分,均可用break控制迴圈的流程。break用於強行退出迴圈,不執行迴圈中剩餘的語句。(break語句也可以switch語句中使用)

  • continue語句用在迴圈語句體中,用於終止某次迴圈過程,即跳過迴圈體尚未執行的語句,接著進行下一次是否執行迴圈的判定

  • 關於goto關鍵字
    goto關鍵字很早就在程式設計語言中出現。儘管goto仍是Java的一個保留字,但並未在語言中得到正式使用;Java沒有goto,然而,在break和continue的身上,仍然可以看出一些goto的影子---帶標籤的break和continue

  • 標籤是指後面跟一個冒號的識別符號,例如:label:

  • 對Java來說唯一用到標籤的地方是在迴圈語句之前。而在迴圈之前設定標籤的唯一理由是:希望在其中巢狀另一個迴圈,由於break和continue關鍵字通常只中斷當前迴圈,但若隨同標籤使用,它們就會中斷到存在標籤的地方

列印三角形


package com.cdoudou.struct;

public class TestDemo {
    //列印三角形 5行
    public static void main(String[] args) {
        for (int i = 1; i <= 5; i++) {
            for(int j = 5; j >= i; j --){
                System.out.print(" ");
            }
            for(int j = 1; j <= i; j ++){
                System.out.print("*");
            }
            for(int j = 1; j < i; j ++){
                System.out.print("*");
            }
            System.out.println();
        }
        
        /*
                *
               ***
              *****
             *******
            *********
   
         */
    }
    
}

下面要開始方法的學習了!!!加油!!!