数组
数组的概念:数组就是用于存储数据的长度固定的容器,保证多个数据的数据类型一致。
一维数组的声明:
方式一:元素的数据类型 [ ] 数组的名称;(推荐)
方式二:元素的数据类型 数组的名称 [ ];
示例
int[] array1 ;
int array2[] ;
说明
数组的类型是引用数据类型,数组的数据是对象
一维数组的创建:
数组名 = new 元素的数据类型 [ 元素的个数 ];
array1 = new int[5];
默认初始化值为0
说明
1)new 是在堆内存中创建
错误方式
int array[5]; // java禁止在栈中创建数组
数组元素的访问:
首地址 + 偏移量
数组名 [ 索引 ] = 值;
array[3] = 10;
数组的遍历:
for ( int i=0; i<array.length; i++ ){
array [ i ] = 2*i+1; //赋值语句
System.out.println( array [ i ] ); //遍历数组语句
}
动态初始化创建数组:
int[ ] arr = new int [ 5 ];
静态初始化创建数组:
int[ ] arr2 = { 0, 4, 6, 5 };
int[] arr3 = new int[ ] {2, 5, 8, 4};
int[] arr4 ;
arr4 = new int[] {5, 8, 6, 1};
数组的长度
- 数组的元素总个数,即数组的长度
- 每个数组都有一个属性length指明它的长度,
- 例如:arr.length 指明数组arr的长度(即元素个数)
- 每个数组都具有长度,而且一旦初始化,其长度就是确定,且是不可变的。
如何表示数组中的一个元素?
每一个存储到数组的元素,都会自动的拥有一个编号,从0开始,这个自动编号称为数组索引(index)或下标,可以通过数组的索引/下标访问到数组中的元素。
数组的下标范围?
Java中数组的下标从[0]开始,下标范围是[0, 数组的长度-1],即[0, 数组名.length-1]
数组元素下标可以是整型常量或整型表达式。如a[3] , b[i] , c[6*i];
数组下标为什么是0开始
因为第一个元素距离数组首地址间隔0个单元格。
数组的默认值
对于基本数据类型而言,默认初始化值各有不同。
对于引用数据类型而言,默认初始化值为null(注意与0不同!)