数组
数组的定义
相同类型数据的有序集合(有一定先后次序)
每一个数据称为一个数组元素,每个数组可以通过一个下标来访问
数组的声明与创建
- 声明
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]);
}
}