java foreach語句

來源:互聯網
上載者:User


foreach文法可以不必建立int變數去對由訪問項構成的序列進行計數,foreach將自動遍曆獲得每一項     

foreach文法如下

for(變數類型 x : 該變數的序列){

       statement

}

foreach語句是for語句的特殊簡化版本,但是foreach語句並不能完全取代for語句,然而,任何的foreach語句都可以改寫為for語句版本。foreach並不是一個關鍵字,習慣上將這種特殊的for語句格式稱之為“foreach”語句。從英文字面意思理解foreach也就是“for 每一個”的意思。實際上也就是這個意思。foreach的語句格式:for(元素類型t 元素變數x : 遍曆對象obj){     引用了x的java語句;}下面通過兩個例子簡單例子看看foreach是如何簡化編程的。代碼如下:

用foreach遍曆float數組

public class foreachfloat{

       public static void main(string [] args){

              random rand = new random(47);

              float f[] = new float[10];

              for(int i=0;i < 10;i++){

                     f[i]=rand.nextfloat();

}

for(float x : f)

       system.out.println(x);

}

}

輸出

0.32454357

.

.

. //共10行

如上例所示

for(float x : f){

       這條語句定義了一個名為x的float型變數,而後將每一個值遍曆到x  

}

任何數組或傳回值是數組的方法都可以應用於foreach。

public class foreachstring{

       publicn static void main(string [] args){

              for(char c : “hello word”.tochararray()){

                     system.out.print(c+” ”);

}

}

}

輸出

h e l l o  w o r d

但foreach不能直接對不存在的一組邏輯數字進行遍曆,但for卻可以

例如 for(int i=0;i < 100;i++)

如果想直接對數字進行遍曆需要建立int型的數組,但可以做個靜態方法自動根據傳入數字來建立數組

      

例如for(int i : range(10))

這種方法雖然可以使得foreach更通用,但是這種方法會降低電腦效率

 

/**
     * foreach輸出二維數組測試
     */
    public void testarray2() {
        int arr2[][] = {{4, 3}, {1, 2}};
         system.out.println("----3----foreach輸出二維數組測試");
        for (int x[] : arr2) {
            for (int e : x) {
                 system.out.println(e); //逐個輸出數組元素的值
             }
         }
     }

    /**
     * foreach輸出三維數組
     */
    public void testarray3() {
        int arr[][][] = {
                 {{1, 2}, {3, 4}},
                 {{5, 6}, {7, 8}}
         };

         system.out.println("----4----foreach輸出三維數組測試");
        for (int[][] a2 : arr) {
            for (int[] a1 : a2) {
                for (int x : a1) {
                     system.out.println(x);
                 }
             }
         }
     }

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.