一、数组
数组的定义
定义格式:
数据类型[] 变量名;
数据类型 变量名[];
int[] a=new int[]{1,2,3,4};//静态初始化
int[] b={'a',1,2};
int[] c=new int[];//动态初始化
//错误定义格式
int[] a=new int[4]{1,2,3,4};
注意点:
数组初始化之后会有默认值
数组的内存分配
方法区:
.class文件存放处
栈
方法被调用的时候都会入栈
局部变量都被保存在栈中
堆
new出来的东西都在堆中
堆中的东西都有默认初始化值
局部变量:定义在方法中的变量
数组的实际数据保存在堆中
数组名实际保存的是数组实体的地址值
小思考:
public class ArrayTest01 {
public static void main(String[] args) {
int[] arr=new int[3];//{4,2,3}
arr[0] = 1;
arr[1] = 2;
arr[2] = 3;
int[] arr2 = arr;
arr2[0] = 4;
System.out.println(arr[0])//4
System.out.println(arr2[2]);//3
数组名保存的是什么东西
数组的内存地址
数组中的实际数据保存在哪里
堆内存
数组的长度表示
数组名.length