1.数组声明格式:
int[] arr=new int[length];
int arr[]=new int[length]
int[] arr=new int[]{1,2,4,4,2,2,345};
int[] arr={1,2,4,4,2,2,345};
2.java程序在运行时,需要在内存中开辟空间,并对空间进行了不同区域的划分: 栈内存,堆内存,方法区,本地方法区和寄存器。
栈内存中数据使用完毕后,所占空间会自动释放
3.(P48)int[] arr=new int[3]; s.o.p(arr[3]); 在编译时没有错误,在运行时会报错:数组角标越界。 因为编译时只检查语法错误,此时还未建立数组,在运行时才会建立数组,此时会发现角标越界。
4.一维数组中,直接打印数组名显示的是数组地址值,打印打印每一个元素时默认值如下。
- int类型数组默认值为0
- double,float类型数组默认值为0.0:
- String类型数组默认值为null;
- char类型数组默认值为 0对应的字符;
二维数组的话,如果声明完全(如 arr[3][2])则打印每一个一维数组显示的是一维数组的地址值,打印每一个元素时默认值与上面相同。如声明不完全(如arr[3][2]),则打印每一个一维数组显示的值为null,打印任意元素报空指针异常。