数组
概念
存放多个同一类型的数据。数组本身也是一种数据类型,是引用类型。
引用类型:与基本类型(int、double等)不同,该类型的变量不直接保存值,而是保存一个内存地址的引用,通过这个引用来间接访问所保存的值。(类似于C语言指针,但和指针不同)
例子:可以想象数组像一本书,数组变量像这本书的目录。
- 目录上写的是这本书存放在哪个书架上,并不等于这本书的内容。
- 通过目录,可以找到书架,进而找到书和内容。
- 多个目录可以写着同一本书的书架位置,它们都引用这同一本书。
- 给别人一个目录,不是把整本书给他,而是show了书的位置。
- 如果没有目录引用这本书了,这本书就可能被丢掉。
数组的使用
1.长度
数组名.length 得到数组的大小/长度
2.初始化数组
静态初始化
动态初始化
3.赋值机制
基本数据赋值(深拷贝):数据本身
变量赋值(浅拷贝):引用地址
4.注意事项和细节
练习
1.逆序输出数组
方案一:ArrayUtils工具类(需要使用Maven添加依赖)
int[] a = {11, 22, 33, 44, 55, 66};
ArrayUtils.reverse(a);
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.12.0</version>
</dependency>
方案二:逆序赋值
int[] arr = {11, 22, 33, 44, 55, 66};
int[] arr2 = new int[arr.length];
//逆序遍历 arr
for(int i = arr.length - 1, j = 0; i >= 0; i--, j++) {
arr2[j] = arr[i];
}