一、数组的创建
//数组创建 静态初始化
int[] arr1 = {1,2,3};
String[] arr4 = {"w","e","r"}
int[] arr2 = new int[]{1,2,3};
//也可 不推荐
int arr[] = {1,2,3};
//未初始化,数组默认皆为0 动态初始化
int[] arr3 = new int[5];
二、数组使用
(1)下标访问——》不可越界!
越界后异常:
java.lang.ArrayIndexOutOfBoundsException
(2)遍历数组
//遍历数组
int[] arr = {1,2,3,4,5};
int[] arr2 = new int[]{1,2,3,4,5,6};
for(int i = 0;i < arr.length;i++){
System.out.print(arr[i] + " ");
}
System.out.println();
//for each
for(int x : arr2){
System.out.print(x + " ");
}
System.out.println();
String arr3 = Arrays.toString(arr);
System.out.println(arr3);
三、数组是引用类型
jvm内存分布
1.方法区
2.堆
3.虚拟机栈
4.本地方法栈
5.程序计数器
3.1 基本类型变量和引用类型变量的区别
//基本类型变量
int a = 1;
int b = 2;
//引用类型变量
int[] array = {1,2,3};

基本类型变量是把值存在变量里,而引用类型变量是把值存在堆里,通过变量来引用使用;
3.2再谈引用变量
public static void main(String[] args) {
//引用变量的对象更换
int[] array1 = {1,2,3};
int[] array2 = {1,2,3,4,5};
array1 = array2;
}

3.3认识null
null表示“空引用”,是一个不指向对象的引用;
//空引用
int[] arr = null;
null的作用类似于C语言中的NULL (空指针),都是表示一个无效的内存位置.因此不能对这个内存进行任何读写操 作.一旦尝试读写,就会抛出NullPointerException.