创建数组
一维数组的创建和初始化:
-
声明数组:
java int[] myIntArray; // 声明一个整数类型的数组
-
分配内存空间(初始化数组):
java myIntArray = new int[5]; // 分配一个可以存储5个整数的数组
-
分配数组元素:
javamyIntArray[0] = 10; myIntArray[1] = 20; myIntArray[2] = 30; myIntArray[3] = 40; myIntArray[4] = 50;
-
使用循环初始化数组:
javafor (int i = 0; i < myIntArray.length; i++) { myIntArray[i] = i * 10; // 将每个元素初始化为 i * 10 }
-
创建并初始化数组(在声明时初始化):
java int[] myInitializedArray = {10, 20, 30, 40, 50};
多维数组的创建和初始化:
-
声明二维数组:
java int[][] my2DArray;
-
分配内存空间:
java my2DArray = new int[3][2]; // 分配一个3行2列的二维数组
-
分配二维数组元素:
javamy2DArray[0][0] = 1; my2DArray[0][1] = 2; // 以此类推,填充所有元素
-
使用循环初始化二维数组:
javafor (int i = 0; i < my2DArray.length; i++) { for (int j = 0; j < my2DArray[i].length; j++) { my2DArray[i][j] = (i * my2DArray.length) + j + 1; } }
-
创建并初始化二维数组(在声明时初始化):
javaint[][] myInitialized2DArray = { {1, 2}, {3, 4}, {5, 6} };
数组的默认值:
在Java中,数组一旦被声明和初始化,其所有元素都会自动填充为该类型的默认值。对于原始数据类型,整数默认是0,浮点数是0.0,布尔值是false,字符是\u0000
。
匿名数组:
Java还允许创建匿名数组,即不声明数组变量直接创建数组:
java复制
new int[] {10, 20, 30, 40, 50};
遍历数组
遍历数组是指按照顺序访问数组中的每个元素。在Java中,通常使用循环结构来实现遍历。以下是几种遍历数组的方法:
1. 使用for循环:
javaint[] myArray = {10, 20, 30, 40, 50};
for (int i = 0; i < myArray.length; i++) {
System.out.println(myArray[i]);
}
2. 使用for-each循环(增强for循环):
javafor (int element : myArray) {
System.out.println(element);
}
3. 使用Java 8的Stream API:
javaimport java.util.Arrays;
public class ArrayTraversal {
public static void main(String[] args) {
int[] myArray = {10, 20, 30, 40, 50};
Arrays.stream(myArray).forEach(System.out::println);
}
}
4. 传统for循环(从数组末尾向前遍历):
javafor (int i = myArray.length - 1; i >= 0; i--) {
System.out.println(myArray[i]);
}
5. 随机访问元素(如果需要特定顺序或条件访问):
javaint randomIndex = ...; // 某种方式得到的随机索引
System.out.println(myArray[randomIndex]);
注意事项:
length
属性:获取数组的长度,这是遍历数组时需要的,因为你需要知道数组中有多少元素。for-each
循环:提供了一种简洁的方式来遍历数组和集合,它隐藏了数组的索引,使代码更易读。- 索引范围:确保在for循环中使用正确的索引范围,避免
ArrayIndexOutOfBoundsException
异常。 - 可读性:选择适合你需求的遍历方法,
for-each
循环通常更简洁、更易于阅读。