为什么要使用数组?
当前有大量的相同的数据需要存储,需要定义大量的变量,可能导致:代码可读性差,无法提现数据之间的联系,操作性差。解决方法:数组
怎么使用数组?
1.数组的定义:
数组(array)是一种用来存储多个相同类型数据的容器
2.数组的特点:
(1).数组在堆中开辟的内存空间是连续的
(2).数组的类型是单一的
(3).数组的长度不可变
3.数组的定义方式
(1).静态初始化
数据类型+数组名称+[]={数值列表} / 数计类型+[]+数组名称={数值列表}
int value[] = {1,2,3,4,5,6,7};
适用情况:数组的值已经确定已知
数据类型+数组名称+[] = new 数据类型[]{数值列表}
int values[] = new int[]{1,2,3,4,5};
(2).动态初始化
数据类型+数组名称+[] = new 数据类型[数组长度]
Double array[] = new Double[10];//初始值为0.0
Double value;//没有初始值
new 数据类型[数组长度] 的真实意思是在堆中开辟数组长度的空间
new 数据类型[数组长度] 在开辟空间后会初始化数组
new 数据类型[数组长度] 开辟空间完成初始化后将数组的首地址赋值给数组名称的引用
3.数组使用
数组的位置:数组的索引下标
最大的索引下标:数组长度-1
数组长度:数组名称.length
求数组的最大值最小值以及其下标:
public class MaxMin {
public static void main(String[] args) {
int[] numbers = {18, 25, 7, 36, 13, 2, 89, 63};
int max = numbers[0];
int min = numbers[0];
int maxIndex = 0;
int minIndex = 0;
for (int i = 1; i < numbers.length; i++) {
if (numbers[i] > max) {
max = numbers[i];
maxIndex = i;
}
if (numbers[i] < min) {
min = numbers[i];
minIndex = i;
}
}
System.out.println("最大值:" + max);
System.out.println("最小值:" + min);
System.out.println("最大值的索引:" + maxIndex);
System.out.println("最小值的索引:" + minIndex);
}
}
4.二维数组与多维数组