java数组内存分析

首先学习几个单词

index 索引
Bounds 边界
assigned 指定

数组:

相同数据类型的有序集合
数组也是对象
长度是不可变的,越界报Array Index out of bounds exception



数组语法:
声明

int [] a;
int a [];

创建

new int [4]

初始化:

默认初始化:数组元素相当于对象的成员变量初始化方式默认的值和成员变量一样数字0 布尔false char 0 引用null
动态初始化:指利用循环进行初始化![图片描述][1]
静态初始化:
int c [] = {23,43,56,78}
cars[] cars= {new car(),new car(),new car(),new car()};

内存分析 1

int []  a=new int[4];
a[0]=1;
a[1]=2;
a[2]=22;
a[3]=33;
    

int [] a 对应在栈里面声明了一个引用
new int[4]; 对应在堆里面开辟了4个空间的数组但是刚开始的时候默认初始化是0
再分别赋给不同的整形值


内存分析2

class car
{
    public String name;
    car(String name)
    {
        this.name = name;
    }
}
car[] cars = new car[4];
cars[0]=new car("奔驰");
cars[1]=new car("宝马");
cars[2]=new car("比亚迪");
cars[3]=new car("奥拓");

car[] cars:在栈里面开辟一个引用,指向堆里面的数组空间
new car[4];在堆里面开辟一个4个空间的数组刚开始的时候都是null
cars[0]=new car("奔驰"):在堆里面开辟了一个对象让cars[0]里的int型引用指向该对象而且该对象的name属性指向了常量池里面的常量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值