`
庄虎_tian
  • 浏览: 939 次
  • 性别: Icon_minigender_1
  • 来自: 四川
最近访客 更多访客>>
文章分类
社区版块
存档分类

不增加任何变量互换a、b的值

阅读更多
上次面试遇到一道面试题,int a=5,int b=10;在不增加任何变量的情况下使a、b的值进行对调。

以下是代码:

public static void main(String[] args) {
  int a = 5;
  int b = 10;
  a = a + b;
  b = a - b;
  a = a - b;
  System.out.println("a = " + a + "\n = " + b);
}

运行结果:
a = 10
b = 5
当a = a + b;的时候a=15,这时候b = a - b等同于 b = 15 - 10 等于a了;a = a - b等同于a = 15 - 5 等于b。
分享到:
评论
1 楼 易沙520 2012-06-25  
......

相关推荐

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

    本文主要描述,如何不使用中间值,将两个变量的值进行交换。 一、普通做法 var a = 1, b = 2, tmp; tmp = a; a = b; b = tmp; 普通的做法就是声明多一个临时变量tmp,进行数据交换过程中的缓存。这样的做法直观...

    变量与赋值PPT学习教案.pptx

    在编程领域,变量和赋值是基础概念,用于存储和操作数据。首先,我们要区分常量和变量。常量是其值在程序运行过程中不可...这样,`a`和`b`的初始值就互换了。在编程实践中,掌握变量和赋值的基本概念是解决问题的基础。

    js点击文本框内容互换代码

    这些图片可以增加页面的视觉效果,但并不直接影响内容互换的功能实现。 总结起来,这个“js点击文本框内容互换代码”是通过JavaScript实现的一种交互功能,使得用户可以通过点击按钮轻松地在两个文本框之间切换内容...

    基本算法语句时公开课PPT课件.pptx

    这篇PPT课件主要介绍了计算机程序设计中的基本算法语句,...对于给定的例题解析,程序1会将变量A的初始值10增加15,然后输出A的新值,即25。程序2则会打印变量b的值3。理解这些基本语句是编写任何计算机程序的基础。

    你必须知道的495个C语言问题

    未初始化的局部变量的值是未定义的,而全局变量和静态局部变量则被初始化为零。这意味着对于全局变量和静态局部变量,如果它们未显式初始化,则它们将被设置为它们类型的零值。例如,对于整数来说,零值是0;对于...

    概率论与数理统计(经管类)公式.pdf

    1. **交换律**:两个事件A和B的顺序互换不会改变它们同时发生的概率,即P(AB) = P(BA)。 2. **结合律**:三个或更多事件同时发生的概率等于它们两两之间概率的乘积,即P(A ∩ B ∩ C) = P(A) * P(B|A) * P(C|A ∩ B)...

    Swift中文教程(一)基础数据类型

    在Swift中,变量a和常量b的值可以互换,但一旦常量被初始化就不能再次赋值。 - 右侧赋值的数据可以是数组或元组,一次定义多个常量或变量。例如 `(x, y) = (1, 2)` 分配元组的值给x和y。 3. **值溢出运算符** - ...

    5.3基本算法语句练习(苏教版必修3).doc

    所以,无论`a`和`b`的初始值如何,执行后两者会互换。 4. **算法的理解与分析**:题目中要求分析算法最后输出的变量值,例如第四题,需要理解算法的逻辑来确定`a`,`b`,`c`的最终状态。 5. **流程图的解析**:第...

    谈谈c语言的基本算法1

    例如,假设需要交换两个整数a和b的值,可以通过引入一个临时变量t来完成这一过程。过程如下: 1. 将a的值赋给t,此时t的值等于a。 2. 将b的值赋给a,此时a的值等于b。 3. 将t的值(即原来的a值)赋给b,此时b的值...

    python练习题

    - **不可变对象(如整数、字符串、元组):** 这些对象在函数内修改不会影响到外部调用者持有的原始对象,因为这些对象是通过值传递的。 - **可变对象(如列表、字典):** 如果在函数内部修改这些对象,则外部调用...

    八级数学上册 141变量与函数第二课时同步练习 人教新课标版.doc

    4. **函数值的求解**:在给定的练习题目中,我们可以求解特定自变量值下的函数值,例如题目1和4,分别要求解当x=时,y的值以及当函数值为1时,自变量a的值。通过代入函数关系式计算,我们可以得出答案。 5. **函数...

    flash shiti

    10.B 11.B 12.C 13.A 14.D 15.D 16.A 17.A 18.D 19.B 20.A 21.C 22.A 23.C 24.C 25.C 26.D 27.C 28.C 29.D 30.C 31.B 32.A 33.ABCD 34.ACD 35.CD 36.ABCD 37.AB 38.ABCD 39.AC 40.ABCD 41.ABCD 42.ABD 43.AD 44....

    C语言教学课件:_20-1_C基础复习_.ppt

    `这段代码首先让指针`p`指向变量`a`的地址,然后`a`的值更新为`*p`(即`a`的值)加上`b`的值。对于`a=10`和`b=1`,`a`将变为11。 10. **函数指针**:`int (*f)();`声明了一个函数指针`f`,它能够指向返回整数的无...

    Java试题A[借鉴].pdf

    虽然它们可以互换,但在某些特定情况下,一种循环可能更适合于特定的逻辑,但这并不意味着任何时候都可任意替换,C选项错误。B和D选项是对于循环条件的一般理解,但并不是绝对的。 4. **import语句**:在Java程序中...

    C语言程序设计试题第4套(山东建筑大学).pdf

    `时,如果a=8,b=5,由于整数除法会向下取整,c的值会是1,不考虑浮点数部分。所以答案是B。 7. 输入输出:当输入`10A10<回车>`,程序会将10赋给m,'A'赋给c,而n仍然为0。因此输出结果是`10,A,0`,选项D正确。 8....

    运算符与表达式练习题附答案知识.pdf

    15. 交换变量值:A、C、B选项都可以实现a和b的值互换,但D选项中的`a=s;s=b;b=a;`会导致s的值丢失,无法完成交换,答案是D。 16. 逻辑运算符与条件表达式:`d=!a&&!b||!c;`,由于`a=4`,`b=5`,`c=0`,`!a`为假,...

    C语言常用算法.pdf

    这种方法确保了a和b的值互换,而不会丢失任何信息。 3. 求最小值/最大值: 找出一组数中的最大值或最小值,可以通过遍历数组并比较每个元素来实现。例如,可以初始化max或min为数组的第一个元素,然后依次与数组的...

    2020_2021学年高中数学第二章算法初步2.2变量与赋值课时作业含解析北师大版必修320210227232

    - 实现两个变量A和B值的互换,可以通过中间变量或其他方法。在给定的选项中,C选项正确实现了值的交换。 4. **程序段执行后的变量值**: - 程序段执行后,变量a和b的值会受到一系列操作的影响。例如,如果a=15,b...

Global site tag (gtag.js) - Google Analytics