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

Java 陣列聲明、建立、初始化完整指南

     編輯:Java 相關知識

一維陣列語法

// 聲明(兩種等價寫法)
int[] arr;        // 推薦:類型後置,語義清晰
int arr2[];       // C 風格,不推薦

// 建立:new 類型[長度]
arr = new int[5]; // 長度不可變,預設值 0

// 聲明並建立
int[] numbers = new int[10];

三種初始化模式

1. 動態初始化(指定長度,預設值)

int[] a = new int[3];  // [0, 0, 0]
Date[] dates = new Date[3]; // [null, null, null]

2. 靜態初始化(大括號直接賦值)

int[] a = {1, 2, 3};                     // 類型推斷
String[] names = new String[]{"A", "B"}; // 顯式 new

3. 預設初始化(陣列為引用類型,元素同實例變數規則)

元素類型預設值
byte/short/int/long0
float/double0.0
char'\u0000'
booleanfalse
引用類型null

多維陣列

規則陣列(矩形)

int[][] matrix = new int[3][4]; // 3 行 4 列
matrix[0][0] = 1;

不規則陣列(鋸齒陣列)

int[][] jagged = new int[3][];
jagged[0] = new int[2];
jagged[1] = new int[5];
jagged[2] = new int[1];

常見操作與工具類

  • arr.length:長度屬性(非方法)
  • Arrays.toString(arr):輸出內容而非地址
  • Arrays.sort(arr):原地排序
  • Arrays.copyOf(arr, newLen):擴容/截斷
  • System.arraycopy():高效複製

記憶體模型圖解

int[] arr = new int[3] 在堆記憶體分配連續空間:

棧: arr ──────► 堆: [0][0][0]
                index: 0 1 2

多維陣列實為「陣列的陣列」,每行獨立分配:

int[][] m = new int[2][3];
棧: m ► 堆: [行0地址][行1地址]
              │         │
              ▼         ▼
            [0,0,0]  [0,0,0]

最佳實踐

  1. 優先用 List<T> 替代陣列,除非效能極度敏感或與原生 API 交互
  2. 陣列建立後長度不可變,擴容需 Arrays.copyOf 建立新陣列
  3. 避免在循環中重複建立大陣列,造成 GC 壓力
  4. 多線程環境下陣列非線程安全,考慮 CopyOnWriteArrayList 或加鎖

總結

Java 陣列是固定長度、同類型元素的連續記憶體結構。掌握三種初始化模式、多維陣列佈局、Arrays 工具類用法,是處理基礎數據結構的核心技能。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved