java数组1
数组
1.数组是存放数据的集合,但一般理解为存储了具有相同类型的变量集合。
数组,在内存当中占用的是一块连续的内存。
定义数组:
(1).方法一:int [ ] array =new int[ ]{1,2,3,4,5,6}
即在定义的同时就赋初值
(2).方法二:int [ ] array =new int[20 ];
即只定义创建一个数组
注意:数组的长度可以用array.length来知道,但数组的起始下标为0,故下标最多访问到array.length-1的位置。而当出现ArrayIndexOutOfBoundsException(数组越界异常)报错时,即表示你要访问的位置超出了数组。
2.数组输出:数组的输出方法有很多,比如用for,foreach语句,以及Array类中的tostring方法。具体例子参考文章“数组例题”。
3.数组的存放:jvm中有五个模块:
平时说的栈就是:java虚拟机栈。目的就是存放局部变量;对于数组来说,他也是一个变量,因此·它就应该在栈内,但数组是存放数据的集合,而存放数据又是在堆中,因此不难理解,起始数组就是一个变量在栈中,只不过它存放的东西是一个地址,而这个地址指向的就是堆中的一块内存,如图。
因此,说数组就是引用类型的一种,因为它存放的不是一个实际的数据,而是一个指向型的地址(地址也是一个数据)。因此有:
4.数组的访问
如图:
对于数组来说,通过方法改变数组的数据其实就是相当于在修改本身数组的数据。即俩个引用指向了同一个对象。
注意:
当数组为null时,就不能对他做任何操作。