JAVA:不使用第三个变量,交换两个变量的值
1、通过算术运算减法实现
/*** 1、算术运算实现* (a = 10, b = 2) -> (a = 2, b = 10)*/public static void arithmetic_1() {// a=-8; b=2a = b - a;// a=-8; b=10b = b - a;// a=2; b=10a = b + a;System.out.println("a:" + a + "; b:" + b);}
2、通过算术运算加法实现
/*** 2、算术运算实现* (a = 10, b = 2) -> (a = 2, b = 10)*/public static void arithmetic_2() {// a=12; b=2a = a + b;// a=12; b=10b = a - b;// a=12; b=10a = a - b;System.out.println("a:" + a + "; b:" + b);}
3、通过栈实现
/*** 3、栈实现* (a = 10, b = 2) -> (a = 2, b = 10)*/public static void stack() {Stack<Integer> stack = new Stack<>();stack.push(a);stack.push(b);a = stack.pop();b = stack.pop();System.out.println("a:" + a + "; b:" + b);}
4、通过位运算符异或实现
/*** 4、位运算符实现:异或运算* (a = 10, b = 2) -> (a = 2, b = 10)*/public static void operator() {// a:1010(10) ^ b:0010(2) -> a:1000(8)a = a ^ b;// a:1000(8) ^ b:0010(2) -> b:1010(10)b = a ^ b;// a:1000(8) ^ b:1010(10) -> a:0010(2)a = a ^ b;System.out.println("a:" + a + "; b:" + b);}
JAVA:不使用第三个变量,交换两个变量的值相关推荐
- php比较两个变量的值_总结PHP不用第三个变量交换两个变量的值的几种方法
"PHP不用第三个变量交换两个变量的值"这个题看到过好多次了,看来面试确实喜欢考这道题.今天,对于这个题目,我自己总结了几种方法,可能不全,大家来互相补充. 有些仅适用于字符串,方 ...
- C++不借助第三变量交换两个变量的值
C++不借助第三变量交换两个变量的值 源代码: #include<iostream> using namespace std; int main(){int x,y;cout<< ...
- 不用额外变量交换两个整数的值
题目 如何不用任何额外变量交换两个整数的值 基本思路 如果给定整数a和b使用如下三行代码即可交换a和b的值: a = a ^ b b = a ^ b a = a ^ b 如何理解这三行代码的具体功能呢 ...
- 不使用第三变量交换两个变量的值
在 Java 中,经常会需要交换两个变量的值,我们一般是使用第三变量完成,比如 temp = a; a = b; b = temp; 这样的写法确实能达成目标,但因此而引入了第三变量,对资源的消耗增加 ...
- PHP中不用第三个变量交换两个变量的值
相信大家在PHP面试或者学习中经常会遇到这个问题就是"不用第三个变量来交换两个变量的值",今天正对这个问题来讨论一下: 第一种方法:首先会想到的 这种方法简单可行,顺利的交换了两个 ...
- 不使用第三个变量交换两个变量的值
小结一下: 给出两个变量:var a = 1, b = 2; 方法一: a = a + b; b = a - b; a = a - b; a, b 的值已经交换. 方法二: a = a ^ b; b ...
- 不用引入第三变量交换两个变量的值
前几天发现了一个问题:有人告诉我,要进行变量交换,就必须引入第三变量! 假设我们要交换a和b变量的值,如果写成 int a=5,b=10; a=b; b=a; 那么结果就是两个都是10,理由不言而喻. ...
- 不借助第三方变量交换两个变量的值(多种方法)
转载自:https://blog.csdn.net/kangkermit/article/details/21371159 通常我们的做法是(尤其是在学习阶段):定义一个新的变量,借助它完成交换.代码 ...
- 不允许创建临时变量交换两个变量的内容
在学习C语言的时候,涉及到两个变量值的交换,其中用到临时变量.如果在没有临时变量的情况下,该如何做呢? 方法一:C语言提供的异或运算就可以实现这样的操作.异或运算符"^"也称&qu ...
- Java中三种方法交换两个变量的值
1.中间变量 是最普也是最广泛使用的交换方式: 这种方法很容易理解,就是创建temp中间变量,m把值给temp,n给m,temp将m的值给n,这样就实现了交换. 2.加减运算 前提只能是数字 因为这种 ...
最新文章
- 【Ctsc2011】幸福路径
- java p7 数字签名,p7结构的数字信封 | 学步园
- 在 windows 7 和 MinGW 下编译 OpenOCD 过程
- 直击痛点,详解 K8s 日志采集最佳实践
- 利用Query判断checkbox是否选中的写法!(
- 每天一道LeetCode-----找到由连续数字组成的数组中缺失的那个连续值
- Java的内存--存储
- Spring框架----Spring的基于XML的AOP的实现
- 输入控件控制输入限制
- 处理机调度的概念,层次
- python转换excel 列号 为数字 数字转为列号
- 小猪的Python学习之旅 —— 12.Python并发之queue模块
- double和float区别
- [SP1839]The Bookcase
- 基于TCP/IP协议 区别 GET和POST
- GitFlow使用笔记
- android 相机拍照返回,Android6.0机型上调用系统相机拍照返回的resultCode值始终等于0的问题...
- 使用pytorch完成kaggle猫狗图像识别
- BIGEMAP手机端使用说明
- 重庆计算机考试怎么才算过,@重庆考生 中高考电脑阅卷流程是这样的 注意细节可多拿分...
热门文章
- 友善之臂(FriendlyArm)NanoPi无线网络设置
- 160个CrackMe 077 firework2
- php案例分析百度云_2019中国云手机市场红手指案例分析
- Linux②—概述与基本命令,springboot微信点餐系统百度云
- 如何解决IT公司代码混乱的问题
- linux 终端隐藏光标,如何在gnome-terminal中禁用闪烁的光标?
- 两化融合资质认证流程
- outlook邮箱邮件大小限制_Office Outlook 2010、2013附件大小超过了允许的范围限制三种解决方法图解 – 爱分享...
- Web 和http协议
- Java 后端开发实践 - 项目模板(16 步)