保存一个数据可以定义一个变量,保存多个的话就定义数组 用来保存同一种数据类型若干数据的容器
数组类型[] 数组名 = new 数组类型[长度];
数组类型也是java的一种数据类型
new 运算符会在堆当中分配一块存储空间 这个存储空间可以存储5个int类型的数据
数组元素的访问 通过索引值(下标)来访问数组中的每个元素
索引值是从0开始的
arrays工具类toString()可以把数组转换为字符串
创建数组之后,数组元素会进行默认的初始化 数值型数据默认初始化为0
布尔类型数组元素默认初始化为false char类型数组元素默认初始化为码值为0 的字符
引用类型数组元素默认初始化为null
定义数组的同时给数组的各个元素赋值 仅用于定义数组时使用
遍历是要先保证数组元素不为Null
数组可以作为方法参数 把实参的值传递给形参 在调用方法时,形参数组与实参数组指向堆中同一数组
main方法参数是String类型的数组
可变长参数 类型与参数名中间加三个点
注意:可变长参数 只能作为方法参数列表中的最后一个参数
方法参数中最多只能有一个可变长参数 在方法体中把可变长参数当做数组来用就可以了
在同一个类中使用同一个方法名 使用参数来重载
数组定义后,数组的长度就固定了
数组扩容 定义更大的数组 再把原来的数组的内容复制到新的数组中 必要时还是用原来的数组名引用新的数组对象
手动扩容 使用arraycopy方法 第一个参数指定原数组 第二个参数指定从原数组中的哪个索引开始复制
第三个参数指定目标数组 第四个参数指定复制到目标数组的位置 第五个参数指定复制元素的个数
array工具类: .copyOf 方法 扩容 第一个参数是原数组 第二个是新数组
栈 是一种数据结构 后进先出 先进后出 入栈 压栈push
出栈 弹栈 pop 栈底 栈顶