package zzz; import java.util.Arrays; public class ArrayTest { public static void main(String[] args) { // 1.数组定义 // (1)int[] array = new int[5]; // (2)int[] array = new int[] {3,5,7,1}; // (3)int[] array = {3,5,7,1}; // 2.内存分析(new关键字都会开辟新的内存空间) // 栈储存局部变量arr,数组对象的内存地址赋给arr,一旦离开作用域则消失,释放内存空间 // 堆内存储存对象数据4个连续的int数据类型,对象数据没有引用不会马上消失,等待垃圾回收 int[] arr = new int[4]; arr = null; int[] arr1 = new int[2]; arr1[1] = 100; int[] arr2 = arr1; arr1[1] = 10; arr2[1] = 20; System.out.println(arr1[1]); // 3.Arrays的使用 int[] a = new int[] {50,10,30,70}; System.out.println(Arrays.toString(a)); Arrays.sort(a); System.out.println(Arrays.toString(a)); // 4.遍历 int[] x = new int[] {0,1,2}; for (int i=0; i<x.length; i++) { System.out.println(x[i]); } // 5.二维数组 // 内存分析:栈内存上的二维数组array存放堆内存中的3个一维数组地址 // 每一个一维数组再分别指向堆内存上的一维数组 int[][] array = new int[3][4]; System.out.println(array); System.out.println(array.length); // 二维数组储存一维数组的个数3个 System.out.println(array[0]); // 第1个一维数组的地址 System.out.println(array[0].length); //输出4,array[0]存放4个大小的一维数组 } }