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

Java 基礎入門第五天:方法重載與數組操作全攻略

     編輯:Java 綜合教學

Java 基礎入門第五天:方法重載與數組操作全攻略

一、方法詳解

方法定義語法

修飾符 返回值類型 方法名(參數類型 參數名, ...) {
    方法體;
    return 返回值;
}
  • 修飾符:現階段使用 public static
  • 返回值類型:功能結果數據類型,void 表示無返回
  • 參數列表:形式參數 (定義時) vs 實際參數 (調用時)
  • return:結束方法並返回結果

方法重載

規則:同一類中,方法名相同,參數列表不同 (個數/類型/順序);與返回值無關

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 風格

內存模型圖解

  • 棧:存局部變量 (引用變量 arr),方法結束即銷毀
  • 堆:存 new 出來的實體 (數組對象),有首地址、默認值、GC 回收
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]

四、數組核心算法實戰

1. 遍歷輸出

for (int i = 0; i < arr.length; i++) System.out.println(arr[i]);
// 或增強 for: for (int x : arr) System.out.println(x);

2. 求最值

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];
}

3. 元素逆序 (原地反轉)

for (int i = 0, j = arr.length - 1; i < j; i++, j--) {
    int temp = arr[i]; arr[i] = arr[j]; arr[j] = temp;
}

4. 查表法 (索引映射)

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 編程兩大基石。熟練掌握重載規則、內存模型、邊界檢查與常用算法模板,能顯著提升代碼質量與開發效率。

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