for循环遍历数组:
for(int i=0; i<数组名.lenght; i++){//或赋值
数组名[i] = 值;
//或显示
System.out.println(数组名[i]);
//或其他操作
//例如:判断是否是偶数
if(数组名[i]%2==0){
//...
}
}
4.2.4 数组的内存分析
元素是基本数据类型的一维数组内存分析:
int[] arr = {1,2,3,4,5};int[] arr = new int[5];
for(int i=0; i<arr.length; i++){
arr[i] = i+1;
}
4.3 数组的相关算法 4.3.1 数组找最值
1、数组中找最值
思路:
(1)先假设第一个元素最大/最小
(2)然后用max/min与后面的元素一一比较
示例代码:
int[] arr = {4,5,6,1,9};//找最大值
int max = arr[0];
for(int i=1; i<arr.length; i++){
if(arr[i] > max){
max = arr[i];
}
}
2、数组中找最值及其下标
情况一:找最值及其第一次出现的下标
思路:
(1)先假设第一个元素最大/最小
(2)然后用max/min与后面的元素一一比较
示例代码:
int[] arr = {4,5,6,1,9};//找最大值
int max = arr[0];
int index = 0;
for(int i=1; i<arr.length; i++){
if(arr[i] > max){
max = arr[i];
index = i;
}
}
或
int[] arr = {4,5,6,1,9};//找最大值
int maxIndex = 0;
for(int i=1; i<arr.length; i++){
if(arr[i] > arr[maxIndex]){
maxIndex = i;
}
}
System.out.println("最大值:" + arr[maxIndex]);
情况二:找最值及其所有最值的下标(即可能最大值重复)
思路:
(1)先找最大值
①假设第一个元素最大
②用max与后面的元素一一比较
(2)遍历数组,看哪些元素和最大值是一样的