数组概念:
是一种容器,可以同时存放多个数据值
数组特点:
引用数据类型,类型必须统一,长度不可改变
数组的初始化:
在内存中创建一个数组,并且向其中赋予一些默认值
动态初始化
动态初始化数组,元素拥有一个默认值
整数类型:0 浮点类型:0.0 字符类型:‘\u0000’
布尔类型:false 引用类型:null
静态初始化
在创建数组的时候,不直接指定数据个数多少,而是直接将具体的数据内容进行指定
数据类型[] 数组名称=new 数据类型[] {元素1,元素2,....}
数据类型[] 数组名称= {元素1,元素2,....}
系统将大括号中的具体数值替换默认值
根据内容自动推算长度
数组元素的访问:
数组名[索引]:0~length-1
数组常见错误:
数组越界:如果访问数组元素的时候,索引编号并不存在,那么将会发生数组索引越界异常
空指针异常:数组必须进行new初始化才能使用其中的元素
获取数组的长度:数组名称.length
注意:数组长度不可改变。
遍历:
for-each:(增强for)
num为数组或实现Iterable接口的类对象
(当不希望遍历整个集合,或者需要使用下标时,不用增强for)
Arrays工具类的使用:
java.util.Array是一个数组相关的工具类,里面提供了大量的静态方法,用来实现数组常见的操作toString(数组): 数组变成字符串 [1,2,...]
sort(数组):默认升序
使用了优化的快速排序算法
copyof(数组,长度):数组拷贝
fill(数组,a):数组全部赋值a
equals(数组1,数组2):数组12长度相同,对应下标元素相同返回true
数组拷贝:
直接赋值:两个变量引用同一个数组
int[] num1=num2;
copyof:拷贝到一个新数组
int []num1=Array.copyof(num2,num2.length)
(num2长度大于数组长度,默认值;num2长度小于数组长度,截断)