首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 綜合教學

Java 入門筆記(一):陣列建立與參數傳遞

     編輯:Java 綜合教學

Java 入門筆記(一):陣列建立與參數傳遞

記錄 Java 學習初期對陣列宣告、記憶體配置、方法傳遞機制的理解。

一、陣列建立的兩個步驟

// 1. 宣告陣列變數(參考型別,預設 null)
int[] scores = null;          // 推薦寫法:型別[] 變數名
int scores2[] = null;         // C 風格寫法,不推薦

// 2. 配置記憶體空間(new 建立陣列物件)
scores = new int[3];          // 長度 3,元素預設值 0

// 合併寫法
int[] scores = new int[3];

記憶體圖解:
棧區:scores 變數(引用)
堆區:int[3] 物件(含 length 屬性、3 個 int 槽位)

二、靜態初始化(同時指定值)

public class ArrayDemo {
    public static void main(String[] args) {
        int[] arr = {1, 2, 3};
        modify(arr); // 傳遞引用副本
        System.out.println(arr[0]); // 輸出 99,原陣列被修改
    }

    static void modify(int[] a) {
        a[0] = 99; // 透過引用修改堆區物件
        // a = new int[5]; // 這裡重新指向新物件,不影響外部 arr
    }
}

四、方法返回陣列

static int[] createArray(int n) {
    int[] result = new int[n];
    for (int i = 0; i < n; i++) result[i] = i * 2;
    return result; // 返回引用
}

五、完整練習代碼

public class CreateArray2 {
    public static void main(String[] args) {
        int[] scores = new int[3];
        int[] speeds = {12, 35};

        for (int i = 0; i < 3; i++) scores[i] = i * 2 + 1;
        for (int i = 0; i < 3; i++) System.out.println("scores[" + i + "]=" + scores[i]);
        System.out.println("length: " + scores.length);

        for (int v : speeds) System.out.println("Speed: " + v);
    }
}

六、關鍵點總結

  1. 陣列是引用型別,new 在堆區建立物件,變數存引用。
  2. 陣列長度固定,不可變;需動態增刪請用 ArrayList。
  3. 方法傳遞陣列時,傳的是引用值副本,方法內修改元素會影響原陣列;重新指向新陣列則不影響。
  4. arr.length 是屬性(非方法),String.length() 是方法,易混淆。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved