我们都只到数组是什么,当我们定义一个数组的时候并且不初始化:
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类型的数组,并且不初始化时是不会直接打出内存地址的!!!!!!!!!!!!!