Java - 陣列
歡迎您,有抱負的程式設計師!今天,我們將深入Java陣列的精彩世界。作為您親切友善的電腦科學老師,我將引導您了解這個基本概念,這將成為您編程工具箱中的關鍵工具。
Java中的陣列是什麼?
想像您正在規劃一個生日派對,並需要跟蹤您的賓客名單。如果您不是在單獨的紙張上寫下每個名字,而是有一個包含所有名字的單一清單,那不是更容易嗎?這正是陣列在編程中所做的事情!
Java中的陣列是一個容器,它包含一個固定數量的單一類型的值。將其視為一排盒子,每個盒子都包含同一類型的項目。
声明陣列變量
讓我們從基礎開始。要聲明一個陣列變量,我們使用方括號[]:
int[] numbers;
String[] names;
在這裡,我們聲明了两個陣列變量:一個用於持有整數,另一個用於字串。
創建陣列
現在,讓我們創建我們的陣列:
int[] numbers = new int[5];
String[] names = {"Alice", "Bob", "Charlie", "David", "Eve"};
在第一行中,我們創建了一個可以容納5個整數的陣列。在第二行中,我們一次創建並初始化了一個字串陣列。
處理陣列
讓我們看看我們如何使用陣列:
int[] scores = {85, 90, 78, 88, 92};
// 存取元素
System.out.println("第一個分數: " + scores[0]); // 輸出:85
System.out.println("第三個分數: " + scores[2]); // 輸出:78
// 修改元素
scores[1] = 95;
System.out.println("更新後的第二個分數: " + scores[1]); // 輸出:95
// 陣列長度
System.out.println("分數數量: " + scores.length); // 輸出:5
請記住,陣列索引從0開始,而不是1。這是初學者的常見錯誤,但您會習慣的!
使用foreach迴圈迭代陣列
Java提供了一種乾淨利落的方式,使用foreach迴圈迭代陣列:
String[] fruits = {"Apple", "Banana", "Cherry", "Date"};
for (String fruit : fruits) {
System.out.println("我喜歡 " + fruit);
}
這個迴圈將打印:
我喜歡 Apple
我喜歡 Banana
我喜歡 Cherry
我喜歡 Date
這不是比傳統的for迴圈更乾淨嗎?
將陣列傳遞給方法
陣列可以像任何其他變量一樣傳遞給方法:
public static void printArray(int[] arr) {
for (int num : arr) {
System.out.print(num + " ");
}
System.out.println();
}
public static void main(String[] args) {
int[] myArray = {1, 2, 3, 4, 5};
printArray(myArray); // 輸出:1 2 3 4 5
}
從方法返回陣列
方法也可以返回陣列:
public static int[] createArray(int size) {
return new int[size];
}
public static void main(String[] args) {
int[] newArray = createArray(5);
System.out.println("陣列長度: " + newArray.length); // 輸出:5
}
陣列類
Java提供了一個名為Arrays
的公用類別,其中包含用於操作陣列的各種方法。以下是一些常用的方法:
方法 | 描述 |
---|---|
Arrays.sort(arr) |
排序陣列 |
Arrays.binarySearch(arr, key) |
搜索特定的元素 |
Arrays.fill(arr, val) |
使用特定值填充陣列 |
Arrays.toString(arr) |
返回陣列的字符串表示形式 |
讓我們看看這些方法的實際應用:
import java.util.Arrays;
public class ArraysClassDemo {
public static void main(String[] args) {
int[] numbers = {5, 2, 8, 1, 9};
// 排序
Arrays.sort(numbers);
System.out.println("排序後的陣列: " + Arrays.toString(numbers));
// 輸出:排序後的陣列: [1, 2, 5, 8, 9]
// 二分搜索
int index = Arrays.binarySearch(numbers, 5);
System.out.println("5的索引: " + index); // 輸出:2
// 填充
int[] filledArray = new int[5];
Arrays.fill(filledArray, 7);
System.out.println("填充後的陣列: " + Arrays.toString(filledArray));
// 輸出:填充後的陣列: [7, 7, 7, 7, 7]
}
}
就是這樣!您已經踏出了Java陣列世界的第一步。請記住,熟練才能精通。嘗試創建不同類型的陣列,操作它們,並在您的程式中使用它們。在您察覺之前,您將成為陣列巫師!
當我們結束這一切的時候,我想起了一個學生曾經說過,陣列就像一盒巧克力 - 除非您打開它們(或者在我們的情況下,打印它們),否則您永遠不知道您會得到什麼。編程愉快,未來的程式設計師們!
Credits: Image by storyset