java有关数组的问题

前天看书发现书中对于java数组这一块儿介绍的知识很少,知识简要的说明了一下java的数组的声明、创建和访问,以及一维数组的一些个简单的特性。查找相关书籍发现java的数组并不是那么简单,它不同于C中的数组,它是一个对象的概念,而且在数组中还有许多细微之处要注意的,今天就罗列一个我碰到的一些错误:

这是我根据书上写的一段java的数组的代码,运行结果如下:

对于这个运行结果产生了如下疑问:

1、数组a赋值给数组b,实际的赋值过程是怎么样的,为什么长度为3的数组赋给长度为6的数组后,长度为6的数组变成了长度为3的数组?

对于这个疑问刚开始有些迷惑,但后来发现是自己的概念理解的不深,数组的名字只是数组在内存中位置指针的一个引用,所以数组a赋值给数组b的过程,其实是一个内存地址变化的过程,b表示的数组内存地址在赋值之后变成了a的数组的内存首地址,所以此时,b和a指向的内存首地址是同一个数组的。所以要正确理解把数组a赋值给数组b和把数组a中的元素赋值给数组b中的元素这两个概念的不同,要牢记数组a赋值给数组b就就是把a的内存地址赋给b,也可以理解成,把a数组给b.

2、数组的声明和初始化

在声明数组的同时就可以初始化数组元素的值,但是这时候不能够指定数组的长度。

在创建new数组的时候要么指定数组的长度,然后逐一赋值,要么不指明数组的长度,然后直接初始化数组元素的值,不能够在指明数组长度的情况下直接初始化数组元素的值。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值