相同类型数据的有序集合(有一定先后次序)
每一个数据称为一个数组元素,每个数组可以通过一个下标来访问
int[] nums;(还是用这个吧) int num[];(c语言过渡的)
numa = new int[10];//可以存放10个int型(分配空间)
数组名.length:数组的长度
可以写的一起
int[] numa = new int[10];
静态初始化(创建+赋值,不可改变)
int[] a = {1,2,3,4,5};
动态初始化(包含默认初始化)
int[] numa = new int[10]; nums[0] = 1; ...
默认初始化
一经分配空间,就会给予该类型的初始值
0到length-1,如果超出,则报错(数组越界)
for循环
int[] arrays = {1,2,3,4,5}; for (int j = 0; j < arrays.length; j++) { System.out.println(arrays[j]); }
等价与(无下标)
for (int array : arrays) { System.out.println(array); }
数组做方法
public static void printArray(int[] arrays){//用方法打印 for (int j = 0; j < arrays.length; j++) { System.out.print(arrays[j]); } printArray(arrays);
结果:12345(已经提前初始化)
数组做返回值
public static int[] print_Array(int[] arrays){ return arrays; } int[] al = print_Array(arrays); for (int j = 0; j < arrays.length; j++) { System.out.print(al[j]); }
结果:12345
特殊的以为数组(数组套数组)
int[][] arrays = {{1,2},{2,3},{3,4},{4,5}}; arrays [0];//等价于一个新的数组是1,2 printArray(arrays[0]); public static void printArray(int[] arrays){//用方法打印 for (int j = 0; j < arrays.length; j++) { System.out.print(arrays[j]+" "); } }
结果:1 2
for (int i = 0; i < arrays.length; i++) {//arrays.length行数 for (int j = 0; j < arrays[i].length; j++) {//arrays[i].length每行的列数 System.out.println(arrays[i][j]); } }