package com.web;
import java.util.Arrays;
import java.util.List;
public class Test5 {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5};
//max前不可以加int,
// min<=max 也可以,但要循环3遍,min<max只循环2遍,debug可知
//{1,2,3,4,5,6}数组里偶数个运算结果也一样,奇数时中间的一个元素不交换
/*
循环中定义变量min=0最小索引
max=arr.length-1最大索引
min++,max--
*/
for (int min = 0, max = arr.length - 1; min < max; min++, max--) {
//利用第三方变量完成数组中的元素交换
int temp = arr[min];
arr[min] = arr[max];
//不要写成了arr[max]=arr[temp]
arr[max] = temp;
}
// 反转后,遍历数组
for (int i = 0; i < arr.length; i++) {
System.out.println("arr[" + i + "] = " + arr[i]);
}
//注意:foreach循环它仅仅只能用来完成遍历,不能对操作的数组或集合中的数据进行修改操作。**
System.out.println("==================================");
/*
* 增强for
* foreach循环:
* for( 数组或集合中元素的类型 变量名 : 数组名或集合名){
* 变量名所指的空间中,保存的是从数组或者集合中取出的数据
* }
* */
//统计for each循环的次数
//for each 无法使用int index = arr.indexOf(a)来获取索引,将arr放入List也不行,List里只能保存<Integer>,不能保存基本类型;
int count = -1;
for (int a :
arr) {
count++;
System.out.println("arr[" + count + "] = " + a);
}
}
}
/*
输出结果
arr[0] = 5
arr[1] = 4
arr[2] = 3
arr[3] = 2
arr[4] = 1
==================================
arr[0] = 5
arr[1] = 4
arr[2] = 3
arr[3] = 2
arr[4] = 1
* */
如何实现数组反转
![](https://img-home.csdnimg.cn/images/20240711042549.png)