`

java 交换两个变量的值

    博客分类:
  • java
 
阅读更多

前段时间被问到这个问题,我还没太注意,在这里记录一下。

在程序中实现交换两个数的功能并不复杂,但如果不使用中间变量,就需要动一下脑筋。其基本原理就是数的中和。 也就是说,通过某种运算(二元运算)将x和y两个数变成一个数,并保存在其中一个变量中。然后再通过同 样的运算符将x或y中和掉。这样实际上是利用了x或 y本身作为了中间变量。

1.借助中间量交换 
int x = 10; 
int y = 20; 
int temp = x; 
x = y; 
y = temp; 

此种方法可以将中间量看成空杯,即把temp看成是空杯, 
把x看成是装有白酒的杯子,把y看成是装有红酒的杯子 

int temp = x; 把白酒倒到空杯中,此时temp装有白酒,x变成空杯 
x = y; 把y中的红酒倒到x空杯中,此时x装有红酒,y变成空杯 
y = temp; 把白酒倒到y空杯中,此时x装有红酒,y装有白酒,实现x和y的互换 

2.数值相加减交换 
int x = 10; 
int y = 20; 
x = x + y; 
y = x - y; 
x = x - y; 

此种方法通过先求得两数的和再进行减运算 

x = x + y; 此时x的值为10+20=30; 
y = x - y; 此时的x经上面的运算变成30,所以y = 30 - 20 = 10; 
x = x - y; 此时的y经上面的运算变成10,所以x = 30 - 10 = 20;实现两个数的互换 

分享到:
评论

相关推荐

    给两个整型变量赋值,然后交换两个变量的值,最后输出交换后的变量值。

    给两个整型变量赋值,然后交换两个变量的值,最后输出交换后的变量值。

    交换两个变量的值.java

    交换两个变量的值.java

    Java基础精品课02-变量和运算符录屏7.交换两个变量的值.mp4

    Java基础精品课02-变量和运算符录屏7.交换两个变量的值.mp4

    Python 函数的返回值-03-交换两个变量的值

    Python还被语言流行指数的编译器Tiobe将它被评为最受欢迎的编程语言,20多年来首次将Python置于Java、C和JavaScript之上,真的非常荣幸了. 自从20世纪90年代初Python语言诞生至2022年,它已被逐渐广泛应用于系统...

    Java 交换两个变量的数值实现方法

    下面小编就为大家带来一篇Java 交换两个变量的数值实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    Java不使用中间变量交换两个数

    在程序中实现交换两个数的功能并不复杂,但如果不使用中间变量,需要动一下脑筋。在本文介绍了两个方法(其实原理都是一个)。其基本原理是数的中和。也是说,通过某种运算(二元运算)将a和b两个数变成一个数,并...

    函数指针来交换两个数

    用一个函数指针来交换两个数

    java如何交换这两个变量的值方法介绍

    在编程中可能会使用java来完成两个变量值的交换,本文将介绍如何解决此类问题,希望可以帮助您

    Java实现两个整数交换

    本人上传的第一个作品,超级简单,两个整数交换的经典例子,是在一个类中实现的,给JAVA初学者一个借鉴。希望在技术上共同进步

    Java两个变量的互换(不借助第3个变量)具体实现方法

    主要介绍了Java两个变量的互换(不借助第3个变量)具体实现方法,需要的朋友可以参考下

    Python变量的输入输出-提出问题—从控制台输入数字需要两个变量处理

    Python还被语言流行指数的编译器Tiobe将它被评为最受欢迎的编程语言,20多年来首次将其置于Java、C和JavaScript之上,真的非常荣幸了 自从20世纪90年代初Python语言诞生至2022年,它已被逐渐广泛应用于系统管理...

    两个数字的交换,三种方法

    使用三种方法交换来个数字 方法一:使用第三方变量交换数据; 方法二:使用加减法,并且不使用第三方变量 思路:a加上b的和,减去a,就等于b,再用这个数减去b,就等于a。 方法三:使用异或方法交换,...

    java基础编程题源码.zip

    1.定义两个int 类型的变量 a 和 b ,分别打印输出a与b的‘加/减/乘/除/取余’的结果。2.定义一个int类型的变量 i ,输出这个...7.任意定义两个int类型的变量a=13和b=7,交换a和b的值,并打印交换后的结果(两种方法)

    Java开发技术大全(500个源代码).

    trySwap.java 试图交换两个形参的值 useOnlyTest.java 创建多个对象,演示this的作用 useStaticBolck.java 使用静态块 useStVar.java 使用静态成员变量 第4章 示例描述:本章学习继承与多态。 absClass.java ...

    java变量和javascript变量之间的传递示例

    它们是两种完全不同的语言,变量不能直接进行交换,但是通过一定的方式,变量可以传递。 java变量传递给javascript变量,这个比较简单,就是平时的普通方法就好: 代码如下: var cnt = <%=number%>; 注意别漏...

    Java程序设计基础:方法的值传递.pptx

    交换两变量之前,n1=1,n2=2 交换两变量之后,n1=2,n2=1 调用swap方法之后,num1=1,num2=2 调用一个方法时,系统都会将参数、局部变量存储在一个称为堆栈的内存区域中,这个区域称为调用栈,或执行栈。它以先进后出的...

    学通Java的24堂课

    3.9.6 情景应用6——异或运算实现变量值交换 90 3.10 自我测试 91 3.11 行动指南 92 3.12 成功可以复制——知识改变命运、科技改变生活 93 第4堂课 流程控制语句 95 第5堂课 数组应用 131 第6堂课 面向对象...

    java的传值与传引用详解

     传值还是传引用的问题,到此已经算是解决了,但是我们仍然不能解决这样一个问题:如果我有两个 int 型的变量 a 和 b,我想写一个方法来交换它们的值,应该怎么办?  结论很让人失望——没有办法!因此,我们只能...

    java 面试题 总结

    JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要改变...

Global site tag (gtag.js) - Google Analytics