给两个数a和b,然后交换a和b的值。
方式一:通过临时变了存放交换
int a = 2; int b = 3; System.out.println("a=" + a + ",b=" + b); int temp = a; a = b; b = temp; System.out.println("a=" + a + ",b=" + b);
方式二:通过加减计算交换
int a = 2; int b = 3; System.out.println("a=" + a + ",b=" + b); a = a + b; b = a - b; a = a - b; System.out.println("a=" + a + ",b=" + b);
方式三:通过异或运算交换
int a = 2; int b = 3; System.out.println("a=" + a + ",b=" + b); a = a ^ b; b = a ^ b; a = a ^ b; System.out.println("a=" + a + ",b=" + b);
总结:
方式一是最常见的,可读性高,但是需要在内存中存放临时变量,但是对于现在来说,需要的内存空间很小,而且存放临时变量的内存很快就会释放,不存在问题。
方式二有缺陷,当两个数相加之后,可能其结果超出了变量类型能表达的最大范围,这个时候结果就会出问题,不推荐使用
方式三效率是最高的,但是可读性不是很好。
在程序中我们应该尽可能的使用方式一,提高程序的可读性。但是需要了解方式三,以及方式三的原理。
相关推荐
两数交换的三种方法C#_java 两数交换的三种方法 两数交换方法
Java 程序交换两个数字
用一个函数指针来交换两个数
本人上传的第一个作品,超级简单,两个整数交换的经典例子,是在一个类中实现的,给JAVA初学者一个借鉴。希望在技术上共同进步
最小内存消耗的 两个数交换值的方法 使用才c c++ java 等语言
使用三种方法交换来个数字 方法一:使用第三方变量交换数据; 方法二:使用加减法,并且不使用第三方变量 思路:a加上b的和,减去a,就等于b,再用这个数减去b,就等于a。 方法三:使用异或方法交换,...
给两个整型变量赋值,然后交换两个变量的值,最后输出交换后的变量值。
下面小编就为大家带来一篇Java 交换两个变量的数值实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
在程序中实现交换两个数的功能并不复杂,但如果不使用中间变量,需要动一下脑筋。在本文介绍了两个方法(其实原理都是一个)。其基本原理是数的中和。也是说,通过某种运算(二元运算)将a和b两个数变成一个数,并...
交换两个变量的值.java
主要介绍了java 交换两个数据的方法实例详解的相关资料,需要的朋友可以参考下
在编程中可能会使用java来完成两个变量值的交换,本文将介绍如何解决此类问题,希望可以帮助您
trySwap.java 试图交换两个形参的值 useOnlyTest.java 创建多个对象,演示this的作用 useStaticBolck.java 使用静态块 useStVar.java 使用静态成员变量 第4章 示例描述:本章学习继承与多态。 absClass.java ...
DH密钥交换算法这个机制的巧妙在于它可以让双方在完全没有对方任何预先信息的条件下通过不安全信道确定对称密钥。 我用Java写了两个例子,有需要的可以看看。
主要介绍了Java实现双链表互相交换任意两个节点的方法,简单讲述了双链表的概念,并结合实例形式给出了java双链表实现任意两个节点交换的操作技巧,需要的朋友可以参考下
该算法在 Java 中以两种方式实现。第一个实现使用 Java 并行流和 lambda 表达式。该解决方案利用能够提供有竞争力的加速的内置多线程组织。第二个实现是在Theatre actor系统之上实现的,该系统通过细粒度的资源控制...
1.定义两个int 类型的变量 a 和 b ,分别打印输出a与b的‘加/减/乘/除/取余’的结果。2.定义一个int类型的变量 i ,输出这个...7.任意定义两个int类型的变量a=13和b=7,交换a和b的值,并打印交换后的结果(两种方法)
Java基础精品课02-变量和运算符录屏7.交换两个变量的值.mp4
主要介绍了Java两个变量的互换(不借助第3个变量)具体实现方法,需要的朋友可以参考下