Java中关于数组交换反转,逆序输出四种做法,让你一文直接上手四种做法

简介: Java中关于数组交换反转,逆序输出四种做法,让你一文直接上手四种做法

数组反转和逆序输出的思路:

      1、数组反转的思路是:用0号元素和数组最后一个元素进行互换,然后分别继续互换到start(前一个元素下标)大于end(后一个元素下标)的时候停止互换,打印反转后的数组,这个思路可以应用到逆序输出

      2、逆序输出直接从后面倒过来输出即可


            做法1:

   int [] arr={11,22,33,44,55};

        for (int i = 0; i < arr.length/2; i++) {
            int temp=arr[i];
            arr[i]=arr[arr.length-1-i];   //arr[arr.length-1-i] 相当于从后面开始访问回来的下标
            arr[arr.length-1-i]=temp;
        }


        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }

            做法2:

      int [] arr1={11,22,33,44,55};

        for (int start = 0,end=arr1.length-1; start <end; start++,end--) {   //进行数组元素互换,当start(下标)大于end(下标)的时停止互换元素

            int temp =arr1[start];
            arr1[start]=arr1[end];
            arr1[end]=temp;

        }


        for (int i = 0; i < arr1.length; i++) {
            System.out.println(arr1[i]);
        }

            做法3(数组交换的第三种做法(其实本质也是第二种做法)比较好理解):

      int [] arr2={11,22,33,44,55};

        int start=0;
        int end=arr2.length-1;
        while(start<=end){
            int temp =arr2[start];
            arr2[start]=arr2[end];
            arr2[end]=temp;

            start++;
            end--;

        }

        for (int i = 0; i < arr2.length; i++) {
            System.out.println(arr2[i]);
        }

            做法4(直接逆序输出,从后面倒过来输出,可以提高一点点效率):

   int [] arr3={11,22,33,44,55};

        for (int i=arr3.length-1;i>=0;i--){
            System.out.println(arr3[i]);
        }

作者:KJ.JK

本文仅用于交流学习,未经作者允许,禁止转载,更勿做其他用途,违者必究。
文章对你有所帮助的话,欢迎给个赞或者 star,你的支持是对作者最大的鼓励,不足之处可以在评论区多多指正,交流学习

目录
相关文章
|
4天前
|
存储 Java 程序员
Java 数组
4月更文挑战第16天
|
26天前
|
Java
java 8 数组转字符串并以逗号分隔
java 8 数组转字符串并以逗号分隔
11 0
|
1月前
|
Java
【Java】数组中的拷贝方法与初步理解深浅拷贝
【Java】数组中的拷贝方法与初步理解深浅拷贝
12 0
|
1月前
|
存储 Java C语言
【Java】以数组为例简单理解引用类型变量
【Java】以数组为例简单理解引用类型变量
14 1
|
1月前
|
存储 Java 索引
Java数组
Java数组
7 0
|
23小时前
|
缓存 Java
【Java基础】简说多线程(上)
【Java基础】简说多线程(上)
5 0
|
1天前
|
并行计算 算法 安全
Java从入门到精通:2.1.3深入学习Java核心技术——掌握Java多线程编程
Java从入门到精通:2.1.3深入学习Java核心技术——掌握Java多线程编程
|
1天前
|
安全 Java 编译器
是时候来唠一唠synchronized关键字了,Java多线程的必问考点!
本文简要介绍了Java中的`synchronized`关键字,它是用于保证多线程环境下的同步,解决原子性、可见性和顺序性问题。从JDK1.6开始,synchronized进行了优化,性能得到提升,现在仍可在项目中使用。synchronized有三种用法:修饰实例方法、静态方法和代码块。文章还讨论了synchronized修饰代码块的锁对象、静态与非静态方法调用的互斥性,以及构造方法不能被同步修饰。此外,通过反汇编展示了`synchronized`在方法和代码块上的底层实现,涉及ObjectMonitor和monitorenter/monitorexit指令。
6 0
|
1天前
|
监控 安全 Java
在Java中如何优雅的停止一个线程?可别再用Thread.stop()了!
在Java中如何优雅的停止一个线程?可别再用Thread.stop()了!
7 2
|
1天前
|
Java 调度
Java面试必考题之线程的生命周期,结合源码,透彻讲解!
Java面试必考题之线程的生命周期,结合源码,透彻讲解!
8 1