1. 数组定义
静态初始化数组
规范写法
int[] age=new int[]{12,24,36};
double[] scores=new double[]{99.9,44.8};
简略写法
int[] age2={12,24,36};
double[] scores2={99.9,44,6};
变量中存放的是数组的引用地址,需要通过索引取得数组中的具体值
System.out.println(age) // [I@28a418fc:int类型数组,引用地址 28a418fc
System.out.println(age[0]) // 12
当我们想要知道数组中存放的个数,通过length获取数组长度
System.out.println(age.length) // 3
当我们需要知道数组的最大索引时,可以使用数组索引减一,但要注意当数组为空数组时,会出现最大索引为负一的情况,需要进行判断是否有值后,进行索引减一操作
System.out.println(age.length - 1) // 2
动态初始化数组
第一个空数组,只定义类型和长度,对数组进行数据进行的动态的赋值操作
int[] arr = new [3];
arr[0] = 3
2. 数组默认值规则
| 类型 | 默认值 |
|---|---|
| byte、short、char、int、long | 0 |
| float、double | 0.0 |
| boolean | false |
| 类、接口、数组、String | null |
java程序的执行过程
将编译后的class文件放入方法区中,将class文件的main方法放入栈中执行,遇到变量,从栈中开辟空间存放变量的值,当变量类型为引用类型,在堆中开辟空间,向堆空间存入值,将变量指向开辟空间,变量的值为开辟空间的引用地址
当数组值被赋值为null时,说明数组没有指向引用地址或是取消数组引用地址的引用