修飾符 返回值類型 方法名(參數類型 參數名, ...) {
方法體;
return 返回值;
}
public staticvoid 表示無返回規則:同一類中,方法名相同,參數列表不同 (個數/類型/順序);與返回值無關
public static boolean compare(byte a, byte b) { ... }
public static boolean compare(short a, short b) { ... }
public static boolean compare(int a, int b) { ... }
public static boolean compare(long a, long b) { ... }
// 調用 compare(3,4) 自動匹配 int 版本 (short 提升為 int)
| 方式 | 語法 | 特點 |
|---|---|---|
| 動態初始化 | int[] arr = new int[3]; | 指定長度,系統賦默認值 (0/null/false) |
| 靜態初始化 | int[] arr = new int[]{1,2,3};int[] arr = {1,2,3}; | 指定元素,系統推導長度 |
注意:不可同時指定長度和元素;推薦 int[] arr 風格
int[] arr = new int[3]; // 堆中分配 [0,0,0],棧中 arr 指向首地址
arr[0] = 88; // 修改堆中內容
int[] arr3 = arr; // 引用賦值,雙向指向同一堆對象
arr3[0] = 100; // arr[0] 也變為 100

| 異常 | 原因 | 示例 |
|---|---|---|
| ArrayIndexOutOfBoundsException | 索引越界 (負數或 ≥ length) | arr[3] (長度 3) |
| NullPointerException | 引用為 null 仍操作元素 | arr = null; arr[0] |
for (int i = 0; i < arr.length; i++) System.out.println(arr[i]);
// 或增強 for: for (int x : arr) System.out.println(x);
int max = arr[0], min = arr[0];
for (int i = 1; i < arr.length; i++) {
if (arr[i] > max) max = arr[i];
if (arr[i] < min) min = arr[i];
}
for (int i = 0, j = arr.length - 1; i < j; i++, j--) {
int temp = arr[i]; arr[i] = arr[j]; arr[j] = temp;
}
String[] weeks = {"星期一","星期二","星期三","星期四","星期五","星期六","星期日"};
Scanner sc = new Scanner(System.in);
int index = sc.nextInt();
System.out.println(weeks[index]); // 需驗證 0-6 範圍
System.out.println('a' + 1); // 98 (字符 'a'=97 + 1)
System.out.println("hello" + 'a' + 1); // helloa1 (左到右字符串連接)
System.out.println('a' + 1 + "hello"); // 98hello (先算 'a'+1=98 再連接)
System.out.println("5+5=" + 5 + 5); // 5+5=55
System.out.println(5 + 5 + "=5+5"); // 10=5+5
規則:遇字符串則連接,否則算術運算;左到右結合
int[][] matrix = new int[3][4]; // 3行4列
int[][] matrix2 = {{1,2}, {3,4,5}, {6}}; // 不規則數組
// 訪問: matrix[1][2] 表示第2行第3列
方法封裝邏輯、數組批量處理數據是 Java 編程兩大基石。熟練掌握重載規則、內存模型、邊界檢查與常用算法模板,能顯著提升代碼質量與開發效率。