`
jiaguwen123
  • 浏览: 414143 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
社区版块
存档分类
最新评论

关于不用第三变量交换2个变量的值???

    博客分类:
  • view
 
阅读更多
法一:
public class Test {
public static void main(String[] args) {
int a = 1;
int b = 2;
a = b + (b = a) * 0;  //这句实现交换
System.out.println("a:" + a + "  b:" + b);
}
}

法二:
public class Person {  
 
    public static void main(String[] args) {  
        //利用一个数异或本身等于0和异或运算符合交换率  
        int a = 10, b = 5;  
        a = a ^ b;  
        b = a ^ b;  
        a = a ^ b;  
          
        System.out.println("a=" + a + "\nb=" + b);  
    }  


法三:
public class Person {  
 
    public static void main(String[] args) {  
        //利用加减法  
        int a = 10, b = 5;  
        a = a + b;  
        b = a - b;  
        a = a - b;  
          
        System.out.println("a=" + a + "\nb=" + b);  
    }  
}
分享到:
评论

相关推荐

    不用第三方变量交换两数的值

    在编程中,交换两个数值是常见的操作,但有时我们可能会面临一种情况,即不允许使用额外的(第三方)变量来辅助交换。这个问题在各种编程语言中都有不同的解决方案,下面我们将详细探讨几种主流的方法。 首先,我们...

    PHP不用第三变量交换2个变量的值的解决方法

    通过先将两个变量相加的值赋给第一个变量,然后再用第一个变量减去第二个变量的原值赋给第二个变量,最后再用第一个变量的当前值减去第二个变量的现值赋回第一个变量,从而完成变量值的交换。 在编码时,需要注意...

    Python3之不使用第三方变量,实现交换两个变量的值

    ### Python3之不使用第三方变量实现交换两个变量的值 在编程中,交换两个变量的值是一个常见的操作。通常的做法是引入一个临时变量来完成这一过程。然而,在Python这种动态语言中,我们可以采用更为简洁的方式来...

    PHP互换两个变量值的方法(不用第三变量)

    * 使用substr()结合strlen()两个方法达到交换变量值得目的 */ $a = This is A; // a变量原始值 $b = This is B; // b变量原始值 echo '交换之前 $a 的值:'.$a.', $b 的值:'.$b,' '; // 输出原始值 $a .= $b...

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

    在Java编程中,有时我们需要交换两个变量的值,但又不希望使用额外的第三个变量来辅助这个过程。这种情况下,可以利用位运算中的异或(XOR)操作符来实现两个变量的互换。本文将详细讲解如何通过异或运算在Java中不...

    c代码-2.功能:不用第三个变量,实现两个数的对调操作。

    在C语言编程中,对调两个变量的值是一项常见的任务,通常我们使用第三个临时变量来完成这个过程。但是,有一种巧妙的方法可以在不使用第三个变量的情况下实现两个数的对调,这种方法利用了算术运算和赋值操作的结合...

    不使用中间变量,交换int型的 a, b两个变量的值。

    总结来说,不使用中间变量交换两个变量的值有多种方法,包括位运算、算术运算、数组存储和对象属性。不同的方法适用于不同的场景,位运算和算术运算通常更快,但需要考虑溢出和数据类型限制;数组存储和对象属性方法...

    JS实现不用中间变量temp 实现两个变量值得交换方法

    利用数组的灵活性,可以将一个变量的值存储到数组的第一个位置,另一个变量的值存储到第二个位置,然后通过数组访问顺序来交换它们: ```javascript var a = 1; var b = 2; a = [b, b = a][0]; // 现在 a = 2, ...

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

    第3章 表达式 求值顺序 3.1 为什么这样的代码不行?a[i]=i++; 3.2 使用我的编译器,下面的代码inti=7;printf("%d\n",i++*i++);打印出49。不管按什么顺序计算,难道不该是56吗? 3.3 对于代码inti=3;i=i++;...

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

    第3章 表达式 33 求值顺序 33 3.1 为什么这样的代码不行?a[i]= i++; 33 3.2 使用我的编译器,下面的代码int i= 7; printf("%d\n", i++ * i++); 打印出49。不管按什么顺序计算,难道不该是56吗? 33  3.3 ...

    C语言FAQ 常见问题列表

    o 4.4 这是个巧妙的表达式: a ^= b ^= a ^= b 它不需要临时变量就可以交换 a 和 b 的值。 o 4.5 我可否用括号来强制执行我所需要的计算顺序? o 4.6 可是 && 和 || 运算符呢?我看到过类似 while((c = getchar())...

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

    这个表达式利用异或操作的性质来交换两个变量的值。由于异或操作具有交换律和结合律,所以可以不用额外的变量完成交换。 #### 3.5 我是否可以用括号来强制执行我所需要的计算顺序? 可以使用括号来改变运算符的...

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

    3.10 如果我不使用表达式的值, 我应该用++i 或i++ 来自增一个变量 吗? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3.11 为什么如下的代码int a = 100, b = 100; long int c = a * b;...

Global site tag (gtag.js) - Google Analytics