数组
概念:
数组是存储同一种数据类型多个元素的集合,也可以看成是一个容器。
数组既可以存储基本数据类型,也可以存储引用数据类型(后面讲解)。
PS:
1.声明一个数组时并不在内存中给数组分配任何空间,它只是创建一个对数组的引用的存储位置。如果变量不包含对数组的引用,那么这个变量的值为null,除非数组已经被创建,否则不能给它分配任何元素。
2.一个数组变量看似存储了一个数组,但实际上它存储的是指向数组的引用。
一维数组
定义格式:
//格式1:数据类型[] 数组名;
int[] a; //定义了一个int类型的数组a;
//格式2:数据类型 数组名[];
int a[]; //定义了一个int类型的a数组;
//推荐使用第一种定义方式。
初始化: 就是为数组中的数组元素分配内存空间,并为每个数组元素赋值。
分类:
a:动态初始化: 只指定长度,由系统给出初始化值
b:静态初始化: 给出初始化值,由系统决定长度
注意事项: 这两种方式,只能使用一种,不能进行动静结合
动态初始化的格式:
//数据类型[] 数组名 = new 数据类型[数组长度];
//数组长度其实就是数组中元素的个数
int[] arr = new int[3]; //定义了一个int类型的数组arr,这个数组可以存放3个int类型的值
静态初始化的格式:
//数据类型[] 数组名 = new 数据类型[]{元素1,元素2,…};
int[] arr = new int[]{
1,2,3};
实用输入值初始化数组
public class Array1 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入数组的大小:");
int num = input.nextInt(); //定义数组的大小
int[] arr=new int[num];
for (int i = 0; i < arr.length; i++) {
int value = input.nextInt(); //录入数组的元素
arr[i]=value;
}
System.out.print("数组: ");
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]+" ");
}
}
}
输出:
请输入数组的大小:
5
1 5 7 8 9
数组: 1 5 7 8 9
使用随机数初始化数组
public class Array2 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入数组的大小:");
int num = input.nextInt(); //定义数组的大小
int[] arr=new int[num];
for (int i = 0; i < arr.length; i++) {
arr[i]=(int)(Math.random()*100); //大于等于零,小于100的随机整数
//(int) 将double型强制转换成int型
}
System.out.