目录
- 数组概述
- 数组声明创建
- 数组使用
- 多维数组
- Arrays类
- 稀疏数组
数组
数组定义
- 相同类型数据的有序集合
- 相同类型数据的若干数据,按照先后次序排列组合
- 每个数据称为一个数组元素,每个元素可以通过下标访问他们。
数组声明创建
数据类型[] 变量 =new 数据类型[元素数] (首选)
数据类型 变量[]=new 数据类型[] (选用)
public class arraydemo01 {
//String[] args 就是一个可传参数的字符串的数组。
public static void main(String[] args) {
//类型[] 变量 = new 类型[元素数量]
int[] nubs = new int[10];
//查看数组的元素个数
nubs.length();
//中文意思为:数组的长度
模拟意思:拟一个项目名(类型),给一个(new)新办公室(堆),然后计划用多少人。
如何创建数组:
- 组成方法 :
int[] nubs = new int[10]; //创建一个10个元素的数组
- 赋值方法:
nubs[0] =1; //把1 数组第一个变量
- 查询方法:
nubs[下标]//从0开始计算位置数
- 查询数组长度方法:
nubs.length //查询数组的长度
- 静态数组(创建+赋值)
int[] nubs = {1,2,3,4,5}//静态数组
- 动态初始化(等待赋值)
int[] nubs = new int[10];
- 默认初始化(存在动态初始化里面)如果没有赋值,类型数字就会默认为0,类型为字符串就为默认为null。
注意点:
-
一个数组只能是一个类型,不能出现混合类型。
-
数组长度一旦被创建,大小就不能更改
-
数组元素可以是任何数据类型,包括基本类型跟引用类型
-
数组变量属引用类型,数组也可以看成是对象,数组每个元素相当于该对象的成员变量
-
数组对象本身是在堆中的
-
超出数组范围报错:(数组下标越界 异常)java,leng.ArrayindexOutOfBounndsException:1
-
只要使用new关键词的,都是在堆中的。
意思:超出数组界限,越界了。超出数组范围
内存里的堆跟栈
new出来的对象跟数组是存放在堆里面的。
栈就是存放变量类型跟基础数值。
-
声明类型:先在栈里面生成一个array的空间
-
创建数组:new后,栈里面的array去堆里面开辟了一个空间,并划分小块(元素)。
-
赋值:把堆里面的画好的东西整理好,印到栈里面。