初始化数组
第一种初始化方式
静态初始化,一旦初始化元素个数不可再改变
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以上,取不到下标
3.打印数组元素
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]+" "); } } }
4.反转数组
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}};