直接打印数组名出来的一串字符串的意思

我们都只到数组是什么,当我们定义一个数组的时候并且不初始化:

int[] arr=new int[5]
System.out.println(arr);

当我们打印输出数组的时候往往会出现这样一串字符:

//[I@10f87f48

那这串字符代表什么意思呢?
@:仅仅代表分隔符的意思他把前后两个字符串分割开来
@前面字符串的意思:
[:代表的是数组的意思
I:代表的是int类型的意思
10f87f48:是十六进制内存地址的意思
当我们要对一个数组进行操作的时候时候,数组的变量名,也就是上面的arr就会根据这串内存地址,找到我们所定义的数组的位置,从而对数组进行操作.(我们可以把定义的数组理解成一个盒子,变量名就是领路人,它帮我们在庞大的内存中找到我们所定义的盒子,帮我们从盒子里面取值或赋值)

经过上面的解释,在来练习一下吧:[B@27716f4的意思是?
首先分隔符前面:
[:是数组的意思
B:是byte的意思
27716f4:是十六位内存地址的意思

 byte[] arr=new byte[4];
        System.out.println(arr);

大家会了吗
对了补充一个知识点,当你定义一个char类型的数组,并且不初始化时是不会直接打出内存地址的!!!!!!!!!!!!!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值