初始化数组
第一种初始化方式
静态初始化,一旦初始化元素个数不可再改变
int[]a={1,2,3,4,5};
第二种初始化
动态初始化,包含默认初始化,没有被初始化的空间默认为零
int[] nums=null;//声明一个数组
nums=new int[20];//创建一个数组
nums[5]=10;//数组赋值
也可以
int[] nums=new int[10];
其中如果数组被创建了却未被赋值,则会进行默认赋值0;
数组的四个基本特点
- 其长度是确定的。数组一旦被创建,大小是不可以被改变的。
- 其元素必须是相同的类型。不允许出现混合类型。
- 数组的元素可以是任何数据类型,包括基本类型和引用类型。
- 数组变量属引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量。数组本身就是对象,java中对象实在堆中的,因此数组无论保存原始类型还是其它对象类型,数组对象本身就是在堆中。
数组边界
下标的合法区间:[0,length-1],如果越界就会报错;
数组的操作
- for语句数组遍历
int[] array={1,2,3,4,5};
for (int i = 0; i < array.length; i++) {
System.out.println(array[i]);
}
- foreach数组遍历
int[] array={1,2,3,4,5};
for(int arr:array){
System.out.println(arr);
}//jdk1.5以上,取不到下标
- 打印数组元素
public class Main {
public static void main(String[] args) {
int[] arrays={1,2,3,4,5};
printArray(arrays);
}
public static void printArray(int[] arrays){
for (int i = 0; i < arrays.length; i++) {
System.out.println(arrays[i]+" ");
}
}
}
- 反转数组
public class Main {
public static void main(String[] args) {
int[] arrays={1,2,3,4,5};
reverse(arrays);
}
public static int[] reverse (int[] arrays){
int[] result=new int[arrays.length];
for (int i = 0,j=result.length-1; i < arrays.length; i++,j--) {
result[j]=arrays[i];
}
return result;
}
}
多维数组
二维数组
//[3][2]
int[][] array = {{1, 2}, {2, 3}, {3, 4}};