声明数组变量
dataType[] arrayRefVar; // 首选的方法
或
dataType arrayRefVar[]; // 效果相同,但不是首选方法
dataType[] arrayRefVar = NEW dataType[arraySize];
1、数组的长度是确定的。数组一旦被创建,它的大小就是不可以改变的。
2、数组元素必须是相同类型,不允许出现混合类型。
3、数组中的元素可以是任何类型,包含基本类型和引用类型。
4、数组变量属引用类型,数组也可以看成是对象,数组中的每个元素相当于该变量的成员变量。数组本身就是对象,Java中数组是在堆中的,因此数组无论保存原始类型还是其他对象类型,数组对象本身是在堆中的。
5、数组的元素是通过索引访问的,数组索引从0开始。
多维数组
int[][] = new int[2][2];
内存分析实例
step 1 声明数组int array【】 = null
step 2 创建数组array = new int【10】
step 3 给数组元素中赋值
静态初始化
创建+赋值
int[] a ={1,2,3}
Mans[] mans = {new Man(1,1), new Man(2,2)}
动态初始化
先创建,后赋值,不赋值,即 默认初始化
int[] a = new int[2];
a[0]=1;
s[1]=2;
默认初始化
数组是引用类型,它的元素相当于类的实例变量,因此数组一经分配空间,其中每个元素也被按照实例变量同样的方式被隐式初始化。
For-Each 循环
JDK 1.5 引进了一种新的循环类型,被称为 For-Each 循环或者加强型循环,它能在不使用下标的情况下遍历数组。
语法格式如下:
for(type element: array)
{
System.out.println(element);
}
将数组作方法入参
数组作返回值
示列
package Kuang;
import java.lang.reflect.Array;
public class reverseArray {
public static void main(String[] args) {
int[] nums = new int[10];
nums[0] = 1;
nums[1] = 2;
nums[2] = 3;
nums[3] = 4;
nums[4] = 5;
nums[5] = 6;
nums[6] = 7;
nums[7] = 8;
nums[8] = 9;
nums[9] = 10;
printArray(nums);
System.out.println("=====华丽的分割线=====");
printArray(reverseArr(nums));
}
public static void printArray(int[] arg) {
for (int i : arg
) {
System.out.println(i);
}
}
public static int[] reverseArr(int[] arg) {
int[] result = new int[arg.length];
for (int i = 0, j = arg.length - 1; i < arg.length; i++, j--
) {
result[i]=arg[j];
}
return result;
}
}