定义:
int []arr;
int arr[];
初始化
// 完整格式
int arr[] = new int[]{1, 2, 3};
// 简单格式
int arr[] = {1, 2, 3};
数组的元素访问、遍历
按照下标访问即可。数组的长度函数为 arr.length()。idea快速生成遍历的方法:数组名.fori
静态初始化 & 动态初始化
静态初始化:手动指定数组元素;
动态初始化:指定数组长度,系统给出默认初始值。
int arr[] = new int[5];
不同数据类型的默认初始值:
整数:0
浮点数:0.0
字符型:'\u0000'
引用数据类型:null
数组练习
1.遍历数组求和:生成10个 1~100 之间的随机数存入数组
自己不会的点:怎么生成这个随机数
import java.util.RandomRamdom r = new Random();
int a = r.nextInt(100)+1;
// seed=100 就是在 [0,100) 生成随机数,然后+1之后,就是[1,100]
数组内存图
Java内存分配
栈:方法 运行时使用的内存;
堆:存放 对象 or 数组,new出来的东西都在这存储;
方法区:存储可以运行的 class文件;
本地方法栈:JVM在使用 OS的时候使用,和开发无关;
寄存器:给 CPU使用,和开发无关。
数组的内存图
小结:
1.只要是 new 出来的,一定在 堆里面开辟了一个小空间;
2.如果 new 了多次,那么在堆里面就会有多个小空间,每个小空间都有各自的数据。
两个数组 指向同一个空间的内存图