`

不使用第三个变量完成两个整数的交换

阅读更多
 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);   
    }   
}  


还有另外一种方法,且效率更快:

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);   
    }   
}  
分享到:
评论

相关推荐

    C#不借助第三个变量实现两整数交换

    c#中实现两个int变量的数值互换,在借助第三个变量做临时载体的情况下,非常简单。  int a = 10;  int b = 5;  int c ;  c = a;  a = b;  b = c;  如果不借助第三方变量,有几种实现的方法:  1....

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

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

    实现两个数互换的六种方法

    目录基本数据类型借助第三个变量不借助第三个变量异或引用数据类型 基本数据类型 借助第三个变量 /** * @author guqueyue * @Date 2020/3/6 * 方法一:实现两个数交换 **/ public class Exchange1 { public ...

    c程序设计习题参考(谭浩强三版)习题参考解答

    8.1写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果,两个整数由键盘输入。 47 8.2 47 8.3写一个判素数的函数,在主函数输入一个整数,输出是否素数的信息。 49 8.4写一...

    javascript入门笔记

    3、如果 a > b 的话,则交换两个数字的位置 4、再打印 a 和 b的值 3、在网页中,创建一个按钮,点击按钮时,完成 change 函数的调用 2、带参函数 1、定义语法: function 函数名(参数列表){ 语句块; } ...

    完美五十五C语言

    接收两个整数,分别保存在两 个变量中,通过第三个变量将 这两个变量的值互换。*/ #include void main() { int a,b,c; printf("a="); scanf("%d",&a); printf("b="); scanf("%d",&b); c=a; a=b; b=c; ...

    世界500强面试题.pdf

    1.5.6. 输入两个整数 n 和 m,从数列 1,2,3.......n 中 随意取几个数 ....... 116 1.5.7. 输入一个表示整数的字符串,把该字符串转换成整数并输出.............. 118 1.5.8. 给出一个数列,找出其中最长的单调...

    C语言程序设计-大一实验报告1-10-长春工程学院

    1. 交换两个变量的值,需要借助第三个变量; 2. 大小写字母之间的ASCII码相差32; 3. 在用scanf()函数输入时,如果格式控制字符串中有其他字符,应原样输入; 4. 输入整数用%d,输入单精度实数用%f,输入字符用%c; ...

    思维训练(二)如何找到缺失的数

    题目 在一个无序数组中有99个不重复的正整数,范围为1到100,唯独缺少1个1到100中...异或在java语言中也常用来 不借助第三方变量来交换两个数的值 以上为发散思维扩展 对于本题,将所有数异或,得到的结果就是这个奇次整数

    C#基础每日练习2018.12.10

    扩展(*):不使用第三个变量如何交换? 2. 用方法来实现:将上题封装一个方法来做,方法有两个参数分别为num1,num2,将num1与num2交换。提示:方法有两个参数n1,n2,在方法中将n1与n2进行交换,使用ref。(*) 3. 请...

    java异或-Java异或运算总结.pdf

    例⼀:在不引⼊第三个变量的情况下,两个变量的值(整数) //交换a、b的值 例⼆:判断奇数偶数更简单更⾼效的做法 //这个实际考的不多, 太简单 //思路:奇数的⼆进制最低为⼀定为1,偶数的⼆进制最低位⼀定为0, a^...

    指针程序设计.docx

    3 必做实验 【题目5-1】定义和实现一个函数void swap_int(int *p , int *q),该函数实现两个整数的交换。在main函数中构造两个整型变量,通过调用swap_int函数实现这两个整型变量的数值交换,并显示交换前和交换后...

    C语言经典例题100道

    多个整数后移位置问题 69.圆圈报数问题 70.计算一个字符串长度 71.编写输入/输出函数 72.创建链表 73.反向输出链表 74.连接两个链表 75.算一道简单题目 76.调用函数求1/2+1/4+...+1/n 77.填空练习(指向指针的指针) ...

    你必须知道的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++;...

    Linux高级bash编程

    第三部分. 超越基本 9. 变量重游 9.1. 内部变量 9.2. 操作字符串 9.3. 参数替换 9.4. 指定类型的变量:declare或者typeset 9.5. 变量的间接引用 9.6. $RANDOM: 产生随机整数 9.7. 双圆括号结构 10. 循环...

    《你必须知道的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 ...

    Advanced Bash-Scripting Guide <>

    第三部分. 超越基本 9. 变量重游 9.1. 内部变量 9.2. 操作字符串 9.3. 参数替换 9.4. 指定类型的变量:declare 或者typeset 9.5. 变量的间接引用 9.6. $RANDOM: 产生随机整数 9.7. 双圆括号结构 10. 循环和分支 10.1....

Global site tag (gtag.js) - Google Analytics