资讯专栏INFORMATION COLUMN

两值互换的三种方法

phodal / 2362人阅读

摘要:两值互换的种方法最简单的一种想法,求和相减法两值交换数值互换前数值互换后效果图最常用方法,利用中间值两值交换数值互换前数值互换后效果图利用异或运算两值交换数值互换前数值互换后效果图若不理解异或概念,请先看看以下内容

两值互换的3种方法

1、最简单的一种想法,求和相减法

public class 两值交换01 {
    @SuppressWarnings("resource")
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int num01 = input.nextInt();
        int num02 = input.nextInt();
        System.out.println("数值互换前");
        System.out.println("num01=" + num01 + "," + "num02=" + num02);
        num01=num01+num02;//num01(15)=num01(10)+num02(5)
        num02=num01-num02;//num02(10)=num01(15)-num02(5)
        num01=num01-num02;//num01(5)=num01(15)-num02(10)
        System.out.println("数值互换后");
        System.out.println("num01=" + num01 + "," + "num02=" + num02);
    }
}

效果图

2、最常用方法,利用中间值

public class 两值交换02 {
    @SuppressWarnings("resource")
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int num01 = input.nextInt();
        int num02 = input.nextInt();
        System.out.println("数值互换前");
        System.out.println("num01=" + num01 + "," + "num02=" + num02);
        int temp;
        temp = num01;
        num01 = num02;
        num02 = temp;
        System.out.println("数值互换后");
        System.out.println("num01=" + num01 + "," + "num02=" + num02);
    }
}

效果图

3、利用异或运算

public class 两值交换03 {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int num01 = input.nextInt();
        int num02 = input.nextInt();
        System.out.println("数值互换前");
        System.out.println("num01=" + num01 + "," + "num02=" + num02);
        num01 = num01 ^ num02;
        num02 = num01 ^ num02;
        num01 = num01 ^ num02;
        System.out.println("数值互换后");
        System.out.println("num01=" + num01 + "," + "num02=" + num02);
    }
}

效果图

若不理解异或概念,请先看看以下内容
http://blog.csdn.net/renjie_9...
http://www.cnblogs.com/Rachel...

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/67772.html

相关文章

  • Render props、render callback 和高阶组件皆可互换

    摘要:现在来看看怎么使用高阶组件来达到同样的目的。在这个新的组件里包含了加强的和等内容。有时会遇到一个提供了的库,但是你喜欢的是高阶组件。我们来根据上面的例子来加一些方法可以让高阶组件和模式可以互相转换。总结,回调绘制和高阶组件都是可以互换的。 让 render-xxx 模式都可以互换。 基础 所有上面提到的三种模式都是为了处理 mixin 要处理的问题的。在我们继续之前,我们来看一些例子。...

    姘搁『 评论0 收藏0
  • leetcode-120-Triangle-等腰三角形

    摘要:题目示例题目解析此题是等腰三角形,上下之间的关系简化为上下相邻的三个数,相邻,大小关系是在下方二选一上方的数值,必然正确。根据此思路,可以或者,由于可以简化,所以动态规划方法。代码普通代码,较慢动态规划,简练 题目: Given a triangle, find the minimum path sum from top to bottom. Each step you may mov...

    MarvinZhang 评论0 收藏0
  • Python 进阶之路 (八) 最用心的推导式详解 (附简单实战及源码)

    摘要:什么是推导式大家好,今天为大家带来问我最喜欢的推导式使用指南,让我们先来看看定义推导式是的一种独有特性,推导式是可以从一个数据序列构建另一个新的数据序列的结构体。 什么是推导式 大家好,今天为大家带来问我最喜欢的Python推导式使用指南,让我们先来看看定义~ 推导式(comprehensions)是Python的一种独有特性,推导式是可以从一个数据序列构建另一个新的数据序列的结构体。...

    hufeng 评论0 收藏0
  • JavaScript实现继承三种方式

    摘要:导读中主要有三种实现继承的方式,分别是构造函数继承原型继承组合继承其中前两种方式都有其缺陷。方法使用原型继承避免了构造函数继承中方法重复拷贝浪费内存的缺陷。 导读 JavaScript中主要有三种实现继承的方式,分别是 构造函数继承 原型继承 组合继承 其中前两种方式都有其缺陷。第三种方式组合继承则将前两种方式结合起来,取长补短,是JS继承最常用的最佳实践。本文结合代码和注释逐一阐...

    dack 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<