Java 数组
1. 数组变量的声明
int[] ary:声明了数组变量 ary, 数组变量是代词
int ary[];:为了不 C 语法兼容的写法, 丌建议写法
2. 数组对象初始化
- 数组变量引用了具体数组对象, 就是代词
- 数组元素是自动初始化的, 自劢初始化为"零"值
- "零"值包括:0(整型)、0.0(浮点型)、 \u0000(char)、false(boolean)、null(引用类型)
Java 中的初始化分为两种方式:动态初始化和静态初始化
3.数组的复制不动态扩展算法
3.1.数组的复制
数组拷贝(复制)效率更高的 2 种方法:
System.arraycopy(src , srcPos, dest , destPos , length):这个方法是 Java API 提供的,底层
是用 C++写的,所以速度非常快,比 for()循环实现数组拷贝效率要高很多,所以推荐使用。
Arrays.copyOf(src , length):是 JDK1.6 版本提供的方法,比起 System.arraycopy()使用更简
便,但需要注意的是你的开发环境 JDK 版本必须是 1.6 及以上。copyOf() 方法的底层就是 arraycopy()
方法.
3.2. 数组的扩展
我们先明确一点,Java 数组对象的大小是固定的,数组对象是丌能扩展的,我们利用数组复制的方
法可以变通的实现数组扩展。创建数组副本的同时将数组长度增加就变通的实现了,数组的扩展。
- System.arraycopy() 可以复制数组
- Arrays.copyOf() 可以简便的创建数组副本
注:
- 如果想看数组元素内容,以后统一使用 Arrays.toString(arr)形式输出即可,
- 数组长度使用 arr.length 表示,字符串长度使用 str.length()表示
- ary[0]表示数组的第一个元素, ary[ary.length-1]表示数组的最后一个元素