Java数组
数组的定义
- 数组是相同类型数据的有序集合。
- 数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成。
- 其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问他们。
数组声明和创建
- 首先必须声明数组变量,才能在程序中使用数组。下面是声明数组变量的语法:
dataType[] arrayRefVar; //首选方法
或
dataType arrayRefVar[]; //效果相同,但不是首选方法
- Java语言使用new操作符来创建数组,语法如下:
dataType[] arrayRefVar = new dataType[arraySize];
- 数组的元素是通过索引访问的,数组索引从0开始。
- 获取数组长度:array.length
数组的四个基本特点
- 其长度是确定的。数组一旦被创建,它的大小就是不可以改变的。
- 其元素必须是相同类型,不允许出现混合类型。
- 数组中的元素可以是任何数据类型,包括基本类型和引用类型。
- 数组变量属引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量。数组本身就是对象,Java中对象是在堆中的,因此数组无论保存原始类型还是其他对象类型,数组对象本身是在堆中的。
package Array;
public class ArrayDemo02 {
public static void main(String[] args) {
int[] arrays = {1,2,3,4,5};
//打印全部的数组元素
for (int array : arrays){
System.out.println(array);
}
System.out.println("==========");
//计算所有元素的和
int sum = 0;
for (int x:arrays){
sum += x;
}
System.out.println(sum);
System.out.println("==========");
//查找最大元素
int max = arrays[0];
for (int i = 0; i < arrays.length; i++) {
if (arrays[i] > max){
max = arrays[i];
}
}
System.out.println(max);
}
}
多维数组
- 多维数组可以看成是数组的数组,比如二维数组就是一个特殊的一维数组,其每一个元素都是一个一维数组。
- 二维数组:
int a[][] = new int[2][5];
解析:以上二维数组a可以看成一个两行五列的数组。
package Array;
import java.util.Scanner;
public class ArrayDemo03 {
public static void main(String[] args) {
int[][] arr = new int[2][5];
Scanner scanner = new Scanner(System.in);
for (int i = 0; i<arr.length;i++){
for (int j = 0; j < arr[i].length; j++){
arr[i][j] = scanner.nextInt();
}
}
for (int i = 0; i<arr.length;i++){
for (int j = 0; j < arr[i].length; j++){
System.out.print(arr[i][j]+" ");
}
}
}
}
- 一些数组的使用
package Array;
import java.util.Arrays;
public class ArrayDemo04 {
public static void main(String[] args) {
int[] arr = {6,5,4,3,2,1,0};
System.out.println(arr);
//打印数组元素Arrays.toString()
System.out.println(Arrays.toString(arr));
//数组元素排序
Arrays.sort(arr);
System.out.println(Arrays.toString(arr));
//数组元素按照下标填充
Arrays.fill(arr,2,4,0);
System.out.println(Arrays.toString(arr));
}
}