栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

学习Java之两数交换

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

学习Java之两数交换

探究两数交换的几种常用方法 使用中间值传递

方法一:使用中间值保存。

    public static void temp(){
        int x = 10;
        int y = 20;
        System.out.format("交换两数之前:x:%d,y:%d%n",x,y);
        //定义中间值
        int temp;
        //实现交换
         temp = x;
         x = y;
         y = temp;
        System.out.format("交换两数之后:x:%d,y:%d%n",x,y);
    }

实验结果:

使用数学方法

方法二:使用数学中加减运算,巧妙实现。

    public static void mathPlus(){
        int x = 10;
        int y = 20;
        System.out.format("交换两数之前:x:%d,y:%d%n",x,y);
        //实现交换
        x = x+y;
        y = x-y;
        x = x-y;
        System.out.format("交换两数之后:x:%d,y:%d%n",x,y);
    }

方法三:使用数学中乘除运算,巧妙实现。

    public static void mathMult(){
        int x = 10;
        int y = 20;
        System.out.format("交换两数之前:x:%d,y:%d%n",x,y);
        //实现交换
        x = x*y;
        y = x/y;
        x = x/y;
        System.out.format("交换两数之后:x:%d,y:%d%n",x,y);
    }

利用二进制位移方法

方法四:使用位移运算中异或运算,巧妙实现。

        public static void displacement(){
        int x = 10;
        int y = 20;
        System.out.format("交换两数之前:x:%d,y:%d%n",x,y);
        //实现交换
        x = x^y;
        y = x^y;
        x = x^y;
        System.out.format("交换两数之后:x:%d,y:%d%n",x,y);
    }

总结
即使有很多简单的程序,但也会有很多不同的方式解决这个问题,就需要我们去发掘,去学习。我们一起学习进步。。。。。。
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/337339.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号