處理數值通常用基本型別:byte, int, long, double 等。需物件時用包裝類(Integer, Long, Double...),皆繼承自 Number。Java 支援自動裝箱/拆箱。
Integer x = 5; // 裝箱 x = x + 10; // 拆箱運算,再裝箱 System.out.println(x); // 15
| 方法 | 說明 |
|---|---|
xxxValue() | 轉為對應基本型別 |
compareTo() | 比較大小 |
equals() | 判斷相等 |
valueOf() | 回傳包裝物件 |
toString() | 轉字符串 |
parseInt() | 字符串轉基本型別 |
abs(), ceil(), floor(), round() | 數學運算 |
min(), max() | 最小/最大值 |
sin(), cos(), tan(), sqrt(), log(), pow() | 三角/指數/對數 |
random() | 隨機數 |
陣列是固定大小、同型別元素的連續集合。索引從 0 開始。
double[] myList; // 推薦風格
double myList2[]; // C 風格,不推薦
myList = new double[10]; // 建立長度 10
double[] myList3 = {1.9, 2.9, 3.4, 3.5}; // 靜態初始化
// 傳統 for 迴圈
for (int i = 0; i < myList.length; i++) {
System.out.println(myList[i]);
}
// 增強 for 迴圈 (JDK 1.5+)
for (double element : myList) {
System.out.println(element);
}
public static void printArray(int[] array) {
for (int v : array) System.out.print(v + " ");
}
public static int[] reverse(int[] list) {
int[] result = new int[list.length];
for (int i = 0, j = result.length - 1; i < list.length; i++, j--) {
result[j] = list[i];
}
return result;
}
java.util.Arrays 提供靜態方法:
sort():排序(基本型別用雙軸快排,物件用合併排序)。binarySearch():二分搜尋(前提已排序)。equals():比較兩陣列內容是否相等。fill():填充指定值。toString() / deepToString():轉字符串便於除錯。copyOf()、copyOfRange():陣列複製。int[][] matrix = new int[3][4]; // 3 行 4 列
int[][] data = {{1,2}, {3,4}, {5,6}}; // 不規則陣列也可
// 遍歷
for (int[] row : matrix) {
for (int val : row) System.out.print(val + " ");
System.out.println();
}
ArrayList。null。Arrays.sort() 對大量物件排序,考慮並行排序 Arrays.parallelSort()(JDK 8+)。