一、什么是数组
二、数组的定义和初始化
2-1、数组的定义
2-2、数组的初始化
初始化:就是在内存中,为数组容器开辟空间,并将数据存入容器中的过程。
1、静态初始化
【注意】:
数字一旦初始化后,数组的长度不可改变!!!但是数组中的元素可以被覆盖。
扩展:解释一下地址值的格式含义 [D@776ec8df
- [:表示当前是一个数组;
- D:表示当前数组里面的元素都是double类型的;
- @:表示一个间隔符号。(固定格式)
- 776ec8df:才是数组真正的地址值,(十六进制)
平时我们习惯性的会把这个整体叫做数组的地址值。
2、数组的动态初始化
数组创建的时候,并不知道里面要存放什么元素。
动态初始化,在创建的时候,由我们自己指定数组的长度,由虚拟机给出默认的初始化的值。
数组默认初始化的规律:
- 整数类型:默认初始化值0;
- 小数类型:默认初始化值0.0;
- 字符类型:默认初始化值'/u0e00' 空格;
- 布尔类型:默认初始化值false;
- 引用数据类型:默认初始化值null;
3、动态初始化 VS 静态初始化
三、数组的遍历
3-1、使用for循环
int[] numbers = {1, 2, 3, 4, 5};
for (int i = 0; i < numbers.length; i++) {
System.out.println(numbers[i]);
}
【备注】:自动快速生成数组的遍历方式,idea快捷键
数组名.fori
【默认原则】:一个循环尽量只做一件事情!!!
3-2、for-each循环
int[] numbers = {1, 2, 3, 4, 5};
for (int number : numbers) {
System.out.println(number);
}
3-3、使用Arrays类的toString方法
Arrays.toString()
方法可以将数组转换成字符串表示,然后你可以打印这个字符串,这在调试时非常有用。
import java.util.Arrays;
int[] numbers = {1, 2, 3, 4, 5};
System.out.println(Arrays.toString(numbers));
3-4、使用Java 8的Stream API
Java 8引入了Stream API,它提供了一种高效且表达力强的方式来处理数组(以及集合)中的元素。
import java.util.Arrays;
int[] numbers = {1, 2, 3, 4, 5};
Arrays.stream(numbers).forEach(System.out::println);
四、数组的内存图
示例1:
示例2:
小结:
注意: