JavaSE09-数组详解
目录
- 一、数组的创建
- 1.什么是数组?
- 2.创建数组
- 3.初始化
- 二、数组的使用
- 1.for循环
- 2.数组作为方法的参数
- 3.数组作为返回值
- 三、多维数组
一、数组的创建
1.什么是数组?
数组是相同类型数据的有序集合,其中,每一个数据称为一个数组元素,每个数组元素都可以通过下标来进行访问。举个例子,nums = {1,2,3,4,5} 就是一个整数数组,每个数组元素都是整数,从左到右的下标分别是0,1,2,3,4,nums[0]=1,nums[4]=5。
2.创建数组
一般来说创建数组需要如下操作:
首先,必须声明数组变量。
dataType[] arrayRefVar; //首选
or
dataType arrayRefVar[]; //不建议使用
然后,使用new操作创建数组(分配内存)。
arratRefvar = new dataType[arraysize]
最后,对数组中的元素进行赋值。
arratRefvar[n] = data;
前两步可以合并,直接声明并创建数组。
dataTpye[] arratRefvar = new dataType[arraysize]
下面是一个简单的例子:
public static void main(String[] args) {
int[] nums; //声明
nums = new int[5]; //创建一个大小为5的整数数组,此时数组元素是对应类型的默认值
//int[] nums1 = new int[5]; //声明并创建
//赋值
nums[0]=1;
nums[1]=2;
nums[2]=3;
nums[3]=4;
nums[4]=5;
//nums.length:数组长度
for (int i = 0; i < nums.length; i++) {
System.out.println(nums[i]);
}
}
3.初始化
数组一般有两种初始化方法:
- 静态初始化:创建时直接赋值。
- 动态初始化:先创建再赋值。若创建后不手动赋值,则进行默认初始化,即数组元素为相应类型的默认值。
-
静态初始化
//静态初始化:直接赋值 int[] a = {1,2,3};
-
动态初始化
//动态初始化:先创建再赋值,若不赋值即为默认初始化 int[] b = new int[3]; //int[] b; //b = new int[3]; b[0] = 1; b[1] = 2; b[2] = 3;
二、数组的使用
1.for循环
数组经常会与for循环一同使用。
public static void main(String[] args) {
int[] arrays = {1,2,3,4,5};
//for循环
//遍历数组的所有元素
for (int array : arrays) {
System.out.println(array);
}
}
2.数组作为方法的参数
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]);
}
}
3.数组作为返回值
public static void main(String[] args) {
int[] arrays = {1,2,3,4,5};
int[] resverse = reverse(arrays); //方法返回一个数组
printArray(resverse);
}
//数组作为返回值
//反转数组
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;
}
//打印数组所有元素
public static void printArray(int[] arrays){
for (int i = 0; i < arrays.length; i++) {
System.out.print(arrays[i]+" ");
}
}
三、多维数组
多维数组可以看成是数组的数组,比如二维数组,可以看作是特殊的一维数组,即每个数组元素都是一个一维数组。
//一个2行5列的二维数组
int[][] a= new int[2][5];
public static void main(String[] args) {
//一个二维数组
int[][] arraysTwo = {{0,1,2},{3,4,5}};
System.out.println(arraysTwo[0][1]); //1
System.out.println(arraysTwo[1][0]); //3
}
最后,牢记数组的四个基本特点:
- 数组长度是固定的,数组一旦被创建,它的大小就是不可改变的
- 数组元素必须是相同类型,不允许出现混合类型
- 数据中的元素可以是任意数据类型,包括基本数据类型和引用数据类型
- 数组变量是引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量。数组本身是对象,Java中对象是在堆中的