一、数组
- 数组--相同类型数据的有序集合
- 数组的声明和创建:
- 声明-----在类型后面加[]:int[] nums-----首选/在变量后面加[]:int nums[];
- 创建---nums=new int[10]
二、内存分析
- 堆:存放new的对象和数组--可被所有线程共享,不会被别的类和对象引用
- 栈:存放基本变量类型和具体的数据--引用对象的变量(引用在堆里的具体地址)
- 方法区:可以被所有线程共享--包含所有class、static变量;
声明数组--在栈里面创建一个空间
创建数组并赋值--在堆里面创建空间,并赋值
三、初始化
- 静态初始化:创建+赋值--new nums={1、2、.....};
- 动态初始化:包含默认值--int[] nums=new int[10] nums[0]=1,nums[1]=2......
四、数组的基本特点
- 数组长度是确定的,一旦被创建就无法改变;
- 数组可以是任何数据类型,但是数组必须是同一类型的数据组成;
- 数组变量是引用类型,数组本身是对象,数组的元素可以看成是该对象的成员变量;
- 数组越界--数组下标从0开始。一旦溢出会报错--outogboundsexception
五、数组的使用
- for each循环:for(int nums:nums){}
- 用数组作为返回值 public int[] nums add( int[] args){ return nums}
六、多维数组
int[][] nums={{1,2},{3,4},{4,5}};
for (int i = 0; i < nums.length; i++) {
for (int j = 0; j <nums[i].length ; j++) {
System.out.println(nums[i][j]);
}
}
七、Araays类
- sort方法、fill等可查看api文档。