考题:将数组的元素内容反转

考题:把数组的元素内容反转,int[ ] arr ={11,22,33,44,55};变成int[ ] arr={55,44,33,22,11}

小伙伴们可以自己先思考再看解析:

方法1:

        思想:两杯水交换的思想(有一杯装满水的杯子a和一杯装满水的杯子b,想想怎么将杯子a的水和杯子b的水互换?)

        拿出第三个杯子c(空杯)

#这里遍历的次数为2

代码示意:

public class Test{
    public static void main(String[] args){
      int[] arr={11,22,33,44,55};
      int temp=0;
      for (int i=0;i<arr.length/2;i++){
          temp = arr[arr.length-1-i];
          arr[arr.length-1-i] =arr[i];
          arr[i]=temp;
      }
       for (int j=0;j<arr.length;j++){
           System.out.print(arr[j]+"\t");
       }
    }
}

图解:

方法2:

反向遍历再赋值

public class Test {
    public static void main(String[] args) {
        int[] arr = {11, 22, 33, 44, 55};
        // 声明并初始化一个整型数组arr,包含5个元素
        int[] arr2 = new int[arr.length];
        // 声明并初始化一个整型数组arr2,其长度与arr相同
        for (int i = arr.length - 1, j = 0; i >= 0; i--, j++) {
            // 使用for循环,从arr的最后一个元素开始,逐个将元素复制到arr2
            arr2[j] = arr[i];
        }
        // 将arr2的引用赋值给arr,此时arr和arr2指向同一个数组
        arr = arr2;
        // 输出arr数组中的元素
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i] + "\t");
        }
    }
}

        在将arr2的引用赋值给arr之后,arrarr2指向了同一个数组,原来的arr的数组废弃了

         好啦,今天的干货就到这啦~    有什么疑问的小伙伴欢迎到评论区留言!


猜你感兴趣的方面:
#如何区分++i和i++???
#强制类型转换是什么?
#自动类型转换有哪些细节???
#JVM、JRE、JDK之间的关系
#面向对象和面向过程有什么区别​​​​​​​
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值