java學習筆記六——數組

來源:互聯網
上載者:User

標籤:int   for語句   span   float   new   mil   class   效率   嵌套   

數群組類型

  數組是一種常見的資料結構,可用於存放多個資料,每一個數組元素存放一個資料,通常可以通過下標進行訪問其元素。

  Java數組要求所有數組元素具有相同的資料類型。因此,數組元素的資料類型是唯一的。

  數組定義如下:

  

        type[] arrayName; //推薦使用        type arrayName[]; //不推薦使用

  通常我們都使用第一種方式。注意:數組的定義不能指定數組長度,只有在初始化時才指定長度。

  數組初始化:

        int[] intArr = new int[]{1,2,3,4,5}; //靜態初始化        int[] intArr2 = {1,2,3,4,5}; //靜態初始化的簡化版,通常使用這種                int[] intArrDy = new int[5]; //動態初始化

  動態初始化時必須為數組指定長度,系統會自動為數組每個元素指定預設值,預設值與數組元素類型有關,具體如下:

  • 整數類型(byte、short、int、long),預設值為0
  • 浮點類型(float、double),預設值為0.0
  • 字元類型(char),預設值為‘\u0000‘
  • 布爾類型(boolean),預設值為false
  • 參考型別(類、介面和數組),預設值為null
使用數組訪問數組

  數組最常用的用法是訪問數組,包括對數組元素的讀取和賦值。使用下標訪問數組元素,如下:

        int[] intArr = {1,2,3,4,5};        intArr[4] = intArr[0] + intArr[1];        System.out.println(intArr[4]);  //3

  下標從0開始,最後一個下標是length-1,即數組總長度-1。當下標大於等於數組長度時會產生數組下標越界異常(java.lang.ArrayIndexOutOfBoundsException)。

遍曆數組

  通常有兩種方法遍曆數組,如下:

        int[] intArr = {23,43,65,87,87};                //使用for語句        for (int i = 0; i < intArr.length; i++) {            System.out.println(intArr[i]);  //遍曆列印數組元素        }                //使用foreach語句        for (int i : intArr) {            System.out.println(i);  //遍曆列印數組元素        }

  區別在於,前者i表示數組下標,後者表示數組元素。再看下面的例子:

        String[] strArr = {"aaa","bbb","ccc"};                //使用for語句        for (int i = 0; i < strArr.length; i++) {            System.out.println(strArr[i]);  //遍曆列印數組元素        }                //使用foreach語句        for (String string : strArr) {            System.out.println(string); //遍曆列印數組元素        }

  而且,foreach語句一般不能修改元素,否則很容易出錯。而且,foreach的效率略低於for語句,當資料量越大時效果越明顯,當嵌套迴圈越多時越明顯。

  不過foreach編程時會方便一點,所以當資料量不是特別大時,使用foreach會方便點。

  最後,給出一種效率最高的方法:

        String[] strArr = { "aaa", "bbb", "vvv" };        for (int i = 0, len = strArr.length; i < len; i++) {            System.out.println(strArr[i]);        }

  就是把擷取數組長度放在了for語句的語句1的位置,這樣就不必每次迴圈都去讀取數組長度了。

 

java學習筆記六——數組

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.