<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ## [數組初始化](https://lingcoder.gitee.io/onjava8/#/book/06-Housekeeping?id=%e6%95%b0%e7%bb%84%e5%88%9d%e5%a7%8b%e5%8c%96) 數組是相同類型的、用一個標識符名稱封裝到一起的一個對象序列或基本類型數據序列。數組是通過方括號下標操作符 \[\] 來定義和使用的。要定義一個數組引用,只需要在類型名加上方括號: ~~~ int[] a1; ~~~ 方括號也可放在標識符的后面,兩者的含義是一樣的: ~~~ int a1[]; ~~~ 這種格式符合 C 和 C++ 程序員的習慣。不過前一種格式或許更合理,畢竟它表明類型是"一個**int**型數組"。本書中采用這種格式。 編譯器不允許指定數組的大小。這又把我們帶回有關"引用"的問題上。你所擁有的只是對數組的一個引用(你已經為該引用分配了足夠的存儲空間),但是還沒有給數組對象本身分配任何空間。為了給數組創建相應的存儲空間,必須寫初始化表達式。對于數組,初始化動作可以出現在代碼的任何地方,但是也可以使用一種特殊的初始化表達式,它必須在創建數組的地方出現。這種特殊的初始化是由一對花括號括起來的值組成。這種情況下,存儲空間的分配(相當于使用**new**) 將由編譯器負責。例如: ~~~ int[] a1 = {1, 2, 3, 4, 5}; ~~~ 那么為什么在還沒有數組的時候定義一個數組引用呢? ~~~ int[] a2; ~~~ 在 Java 中可以將一個數組賦值給另一個數組,所以可以這樣: ~~~ a2 = a1; ~~~ 其實真正做的只是復制了一個引用,就像下面演示的這樣: ~~~ // housekeeping/ArraysOfPrimitives.java public class ArraysOfPrimitives { public static void main(String[] args) { int[] a1 = {1, 2, 3, 4, 5}; int[] a2; a2 = a1; for (int i = 0; i < a2.length; i++) { a2[i] += 1; } for (int i = 0; i < a1.length; i++) { System.out.println("a1[" + i + "] = " + a1[i]); } } } ~~~ 輸出: ~~~ a1[0] = 2; a1[1] = 3; a1[2] = 4; a1[3] = 5; a1[4] = 6; ~~~ **a1**初始化了,但是**a2**沒有;這里,**a2**在后面被賦給另一個數組。由于**a1**和**a2**是相同數組的別名,因此通過**a2**所做的修改在**a1**中也能看到。 所有的數組(無論是對象數組還是基本類型數組)都有一個固定成員**length**,告訴你這個數組有多少個元素,你不能對其修改。與 C 和 C++ 類似,Java 數組計數也是從 0 開始的,所能使用的最大下標數是**length - 1**。超過這個邊界,C 和 C++ 會默認接受,允許你訪問所有內存,許多聲名狼藉的 bug 都是由此而生。但是 Java 在你訪問超出這個邊界時,會報運行時錯誤(異常),從而避免此類問題。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看