一、创建一维数组
1.数组变量的声明 :
int[] arr; 或 int arr[];
大多数Java程序员偏好第一种声明形式,因为它将变量arr的类型int[]与变量名分开了 这条语句的作用仅仅是声明了数组变量,并没有将arr初始化为一个真正的数组
2.创建一个数组 :
int[] arr = new int[100]; 这条语句创建了一个可以存储100个int类型值的数组,并且将数组的元素都进行了默认初始化,对于int数组来说,元素被初始化为0 数组有一个属性length,用来表示数组的长度,可以通过数组名来获取 arr.length
注意:数组长度允许为0 int[] a = null; 和int[] a = new int[0];是不同的
二、一维数组的初始化
初始化
Java中提供了一种创建数组对象并同时赋予初始值的简化书写形式
int[] arr = {12, 23, 34, 45, 56, 67, 78};
该数组长度由初始值列表中的初始值个数决定 还可以使用new对一个数组变量重新初始化
arr = new int[] {1, 2, 3, 4, 5};
重新初始化的数组大小由初始值个数决定,不能在中括号内填写数值 这种方式相当于创建了一个匿名数组,并将已有的数组变量指向了这个匿名数组
三、一维数组元素的访问
获取数组元素
数组元素的位置(或者叫下标、索引)值从0开始,到数组长度-1为止,对超过这个范围的元素 的引用将会引发ArrayIndexOutOfBounds(数组索引越界)异常。
对该数组元素的访问形式
数组名[索引值] 例如:对数组arr的元素访问可以从arr[0]、arr[1]…arr[arr.length-1] 给数组元素赋值 对指定位置的数组元素进行赋值 数组名[索引值] = 数值; 例如:arr[0] = 1; array[1] = 123.45f;
四、一维数组遍历
循环遍历输出数组
1. 使用普通的for循环
for(int i=0;i<arr.length;i++){
System.out.println(arr[i]+"");
}
2. 使用for-each循环
for(int num:arr){
System.out.println(num+",")
}
通过循环设置数组元素值
for ( int i = 0; i < arr.length; i++) {
arr[i] = sc.nextInt();
}
也可以自己试试for-each,看看行不行
五、一维数组元素拷贝
1. 通过循环拷贝
示例:从a数组的第m号位置的元素开始将len个元素拷贝到b数组的n号开始后的元素上
for ( int i = m, j = n; i < a.length && j < b.length && len > 0; i++, j++, len--) {
b[j] = a[i];
}
2. 通过系统函数
示例:从a数组的第m号位置的元素开始将len个元素拷贝到b数组的n号开始后的元素上 System.arraycopy(a, m, b, n, len); // 注意:len+m不能超过a数组长度,且len+n不能超过b数组长度