Java之数组小知识(加内存图)

1;概念
数组,相同数据类型的有序集合,(可以是任意类型,当然也包括引用类型)。
数组也是对象,数组元素相当于对象的成员变量,
数组长度是确定不变的,如果越界则会报java.lang.ArrayIndexOutOfBoundsException:

2;例子;

package textArray;

public class Car {
    public String name;

    Car(String name){
        this.name = name;
    }
}
package textArray;

/**、
 * 测试数组元素是引用时的情况。
 * @author Administrator
 *
 */
public class Main {
    public static void main(String[] args) {
        Car[] car = new Car[4];
        car[0] = new Car("奔驰");
        int[] a = new int[3];//索引范围为[0,3);
        a[0] = 1;
        //a[3] = 4;//java.lang.ArrayIndexOutOfBoundsException: 3——数组索引超出下限,3;

        System.out.println(car[0].name);
        System.out.println(car[0]);//textArray.Car@697a1686——————输出的是包名加@这个对象的哈希码;
    }
}

其内存图为
这里写图片描述
注意一下,字符串也是对象;

3;声明;int[] a; 或者int b[]; (声明引用放在栈中;)
创建数组对象;a = new int [4]; (堆中的对象);a[0]………相当于变量的引用,指向生成的变量。
初始化;默认初始化,数字为0,字符为/u0000,boolen 为flase。引用为null
————动态;foreach进行初始化。

静态初始化,(声明,创建,初始化一起)
Car[] cars = {new Car(“奔驰”)};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值