6.2 數組基本語法:四大核心操作
6.2.1 數組聲明:創建類型引用
int[] m; // 推薦:類型後置括號
int m[]; // C 風格
char[] c;
double[] d;
- 類型可為基本/復合類型
- 括號位置靈活,功能等價
- 聲明後佔用引用空間,值為
null,**不可直接使用**
6.2.2 數組初始化:靜態 vs 動態
靜態初始化(整體賦值)
int[] m = {1,2,3,4};
char[] c = {'a','f','d'};
- **必須與聲明同行**
- 大括號內按順序賦值,長度 = 元素個數
- 類型需匹配或可自動轉換
- 適合已知無規律數據
動態初始化(指定長度)
int[] m = new int[10];
char[] c; c = new char[3];
- 用
new 關鍵字分配堆內存
- 可分步聲明與初始化
- 長度可為變量(非 long)
- 元素自動填充默認值:
| 類型 | 默認值 |
| boolean | false |
| 基本數值類型 | 0 |
| char | '\u0000' (非字符'0') |
| 引用類型 | null |
6.2.3 元素訪問:下標機制
int[] m = {3,2,4,6};
m[1] = 4; // 修改第二個元素
m[2] = m[3] + m[0]; // 表達式類型同數組類型
// 變量作為下標
char[] ch = new char[10];
int i = 2; ch[i] = 'a';
- 下標從 0 開始,合法區間
[0, length-1]
- 越界不報編譯錯誤,運行拋
ArrayIndexOutOfBoundsException
- 變量下標極大增強靈活性,是數組核心威力所在
6.2.4 長度獲取:.length 屬性
int[] n = {1,2,3,4,6};
int len = n.length; // 5
// 遍歷範本
for (int i = 0; i < len; i++)
System.out.println(n[i]);
- 非方法,無括號,不可修改
- 配合下標實現**遍歷**,是數組算法基礎
語法速查表
| 操作 | 語法 | 關鍵點 |
| 聲明 | type[] name; | 值為 null |
| 靜態初始化 | type[] name = {val...}; | 同行、推導長度 |
| 動態初始化 | name = new type[len]; | 默認值填充 |
| 訪問 | name[index] | 0-based、越界拋異常 |
| 長度 | name.length | 屬性非方法、final |
掌握四大語法,配合靈活下標變量,即可解決 80% 數組基礎問題。