从零学java笔录-第28篇 数组7 数组操作3-数组反转

本节主要内容:

1:数组反转

2:本节总结&下节预告

本文出处:《凯哥陪你学系列之java基础篇.Java基本语法篇》中第28篇 数组7 数组操作3-数组反转

数组反转思路:

如下内存中数组:

从零学java笔录-第28篇 数组7 数组操作3-数组反转_第1张图片

反转后:

从零学java笔录-第28篇 数组7 数组操作3-数组反转_第2张图片

我们经过手动反转后,发现数组长度为6,总共需要3次操作。数组长度为7也是需要操作3次(中间数也就是第四个不用处理。)。

我们知道,数组长度/2 就是需要操作的次数。

现在已知道:

1:数组(数组大小)

2:操作次数(循环次数)=数组长度/2

思考:反正?怎么来反正?用代码怎么实现?

分析:

其实就是第一位和最后一位、第二位和倒数第二位进行交换。

从零学java笔录-第28篇 数组7 数组操作3-数组反转_第3张图片

找规律。

代码截图:

从零学java笔录-第28篇 数组7 数组操作3-数组反转_第4张图片

获取数组内容:

从零学java笔录-第28篇 数组7 数组操作3-数组反转_第5张图片

运行结果:

从零学java笔录-第28篇 数组7 数组操作3-数组反转_第6张图片

完整代码:

public class DemoArr7 {

public static void main(String[] args) {

int [] arr = new int [] {22,25,38,99,10,52};

//对数组进行反转

reverseArray(arr);

//对数组进行变量

printArr(arr);

}

/**

* 数组元素反转

* 1:返回类型  void

* 2:参数列表 arr

*/

public static void reverseArray(int[] arr) {

for (int i = 0; i < arr.length/2; i++) {

//arr[0] 和 arr[arr.length-1-0]进行交换

//arr[1] 和 arr[arr.length-1-1]进行交换

//arr[2] 和 arr[arr.length-1-2]进行交换

int tmep= arr[i];

arr[i] = arr[arr.length-1-i];

arr[arr.length-1-i]= tmep;

}

}

public static void printArr(int [] arr){

for (int i = 0; i < arr.length; i++) {

System.out.println(arr[i] +" ");

}

}

}

本节总结:

通过本节学习,需要掌握的:

1:反转的思路

2:怎么反转数组中的数据

下节预告:

通过前面几节的学习我们已经会定义数组、获取数组中所有数据/最值以及将数组中数据反转获取了。那么,给你一个数字,获取该数字在数组中的位置或是给你一个位置获取数组中对应该位置的数字怎么操作?请继续学习下一篇《从零学java笔录-第29篇 数组8 数组操作4-查表法和基本查找》

欢迎关注凯哥公众号:凯哥Java

欢迎移步到凯哥个人网站:www.kaigejava.com

本文在凯哥个人网站地址:从零学java笔录-第28篇 数组7 数组操作3-数组反转

你可能感兴趣的:(从零学java笔录-第28篇 数组7 数组操作3-数组反转)