JavaSE——数组的定义和使用
数组
:指的就是一组相关类型的变量集合
,并且这些变量可以按照统一的方式进行操作。
1.数组的基本概念
1.1.数组的动态初始化
1.1.1.数组的开辟
数组的动态初始化要声明
并开辟
数组,语法格式如下:
数据类型[] 数组名称 = new 数据类型[长度];
1.1.2.对数组的操作
- 数组的访问通过
索引
完成。即“数组名称[索引]
”,要注意的是,数组索引从0开始
,因此可以采用的索引范围就是0~数组长度-1
。如果超出索引可访问区间就会产生“java.lang.ArrayIndexOutOfBoundsException
”异常消息 - 当数组采用动态初始化开辟空间后,数组之中的每个元素都是都是
该数据类型的默认值
- 数组本身是一个有序的集合操作,所以对于数组的内容操作往往是采用
循环
的模式完成(因为数组是一个有限集合,所以一般采用for循环) - Java中动态取得数组长度的方法:
数组名称.length
示例如下:
public class Test{
public static void main(String[] args) {
//开辟一个长度为3的整型数组
int[] x = new int[3];
System.out.println(x.length);
//对数组进行实例化
x[0] = 1;
x[1] = 3;
x[2] = 5;
for (int i = 0; i < x.length; i++) {
//通过循环控制索引访问数组元素
System.out.println(x[i]);
}
}
}
//输出
//3
//1
//3
//5
数组本身除了声明并开辟空间意外还有另一种开辟模式:分布进行数组实例化
,示例如下
int[] x = null;
x = new int[3];
!!!!!注意
:数组属于引用数据类型
,因此在使用前一定要开辟空间
(进行实例化),否则就会出现“NullPointerException
”
1.2.数据引用传递
首先我们通过如下程序了解一下数组的空间开辟:
public class Test{
public static void main(String[] args) {
int[] x = null;
x = new int[3];
System.out.println(x.length);
//给数组放入值
x[0] = 1;
x[1] = 3;
x[2] = 5;
for (int i = 0; i < x.length; i++) {
//通过循环控制索引访问数组元素
System.out.println(x[i]);
}
}
}
数组作为引用数据类型,也可以发生一定的引用传递
。所谓引用传递空间就是指同一块内存空间可以被不同的栈内存所指向
。