1. 数组的定义和赋值
1)动态赋值
int arr= new int[3];
2)静态赋值
int arr= new int[]{1,2,3};
或者
int[] arr= {1,2,3};
举个例子,定义一个数组,并赋值,输出数组的每一个值
其中,不同类型 的初始化值不同,
- int\byte\short\long数组初始值为0
- double数组初始值为0.0
- Boolean数组初始值为false
- char数组初始值为’\u0000’
public class myAray {
public static void main(String[] args) {
// 动态初始化
int[] arr = new int[3];
System.out.println(arr);
System.out.println(arr[0]);//初始化的值
System.out.println(arr[1]);
System.out.println(arr[2]);
System.out.println("-------------");
arr[0]=100;
arr[1]=200;
arr[2]=300;
System.out.println(arr);
System.out.println(arr[0]);
System.out.println(arr[1]);
System.out.println(arr[2]);
int[] arr2=new int[3];
System.out.println("--------------------");
}
}
2. 数组的拷贝
如果两个数组拿到的是同一个堆内存的地址,
任何一个数组对堆内存进行修改,另一个访问到的也是被修改过的
public class MyArr {
public static void main(String[] args) {
int[] arr1=new int[3];
arr1[0]=1;
arr1[1]=2;
arr1[2]=3;
System.out.println(arr1[0]);
System.out.println(arr1[1]);
System.out.println(arr1[2]);
int[] arr2=arr1;//数组拷贝
arr2[0]=111; //数组重新赋值
arr2[1]=211;
arr2[2]=311;
System.out.println(arr1[0]);
System.out.println(arr1[1]);
System.out.println(arr1[2]);
System.out.println(arr2[0]);
System.out.println(arr2[1]);
System.out.println(arr2[2]);
}
}
结果如下:arr2被修改后,arr1的值也被修改了
3、数组长度获取
int[] arr= new int[]{1,2,3};
System.out.println(arr.length);