一个数组的内存图与两个数组的内存图

数组在内存中的存储
    一个数组内存图
public class demo09 {
    public static void main(String[] args) {
        int[] arr = new int[3];
        System.out.println(arr);
    }
}
 
public class demo09 {
    public static void main(String[] args) {
        int[] array = new int[3];
        System.out.println(array);
        System.out.println(array[0]);
        System.out.println(array[1]);
        System.out.println(array[2]);
        System.out.println("********************");

        array[1]= 10;
        array[2]= 20;
        System.out.println(array);
        System.out.println(array[0]);
        System.out.println(array[1]);
        System.out.println(array[2]);

 

 
以上方法执行,输出的结果是[I@5f150435,这个是什么呢?是数组在内存中的地址。new出来的内容,都是在堆
内存中存储的,而方法中的变量arr保存的是数组的地址。
输出arr[0],就会输出arr保存的内存地址中数组中0索引上的元素

 

 

 

两个数组内存图
public class demo09 {
    public static void main(String[] args) {
        int[] array = new int[3];
        System.out.println(array);
        System.out.println(array[0]);
        System.out.println(array[1]);
        System.out.println(array[2]);
        System.out.println("********************");

        array[1]= 10;
        array[2]= 20;
        System.out.println(array);
        System.out.println(array[0]);
        System.out.println(array[1]);
        System.out.println(array[2]);

        int[] arrby = new int[3];
        System.out.println(array);
        System.out.println(array[0]);
        System.out.println(array[1]);
        System.out.println(array[2]);
        System.out.println("********************");

        array[1]= 10;
        array[2]= 20;
        System.out.println(arrby);
        System.out.println(arrby[0]);
        System.out.println(arrby[1]);
        System.out.println(arrby[2]);
    }
    }

 

public static void main(String[] args) {
 int[] arr = new int[3];
 int[] arr2 = new int[2]; 
System.out.println(arr);
 System.out.println(arr2);
 }

 

 

 

posted @ 2022-06-29 17:01  zj勇敢飞,xx永相随  阅读(23)  评论(0编辑  收藏  举报