`
缠小溪
  • 浏览: 24074 次
  • 性别: Icon_minigender_1
  • 来自: 江苏
社区版块
存档分类
最新评论

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数组的时候要么指定数组的长度,然后逐一赋值,要么不指明数组的长度,然后直接初始化数组元素的值,不能够在指明数组长度的情况下直接初始化数组元素的值。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics