A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

这是我的代码  你知道吗
class  Demo1
{
        public static void main(String[] args)
        {
                int a=2;
                int b=3;
                System.out.println("a="+a+";b="+b);
                a=a^b;
                b=a^b;
                a=a^b;
                System.out.println("a="+a+";b="+b);
        }
}
请指教

14 个回复

倒序浏览
引入一个第三方的就可以啊
回复 使用道具 举报
A=(A+B)-(B=A)
回复 使用道具 举报
异或有点不直观
回复 使用道具 举报
class  Demo1
{
        public static void main(String[] args)
        {
                int a=2;
                int b=3;
                System.out.println("a="+a+";b="+b);
                a=a+b;
                b=a-b;
                a=a-b;
                System.out.println("a="+a+";b="+b);
        }
}
回复 使用道具 举报
class  Demo1
{
        public static void main(String[] args)
        {
                int a=2;
                int b=3;
                System.out.println("a="+a+";b="+b);
               int  x ;
               x = a;
               a = b;
               b = a;
                System.out.println("a="+a+";b="+b);
        }
}
回复 使用道具 举报
异或,不错的
回复 使用道具 举报
顶顶顶顶顶顶顶顶顶顶顶
回复 使用道具 举报
能想到异或,厉害,不过觉得好麻烦
回复 使用道具 举报
这是骨灰级程序员写的吧
回复 使用道具 举报
定义第三方变量 例:int temp = a; int a =b, int b= temp  这样就完成了两个变量的交换
回复 使用道具 举报
异或不熟的话有点麻烦
回复 使用道具 举报
变量很大时,位运算就比较慢了,算术运算也差不多。楼主可以去查一下地址算法(引入第三变量是最好的)
回复 使用道具 举报
有三种方法可以实现互换,第三变量,异或,加法
回复 使用道具 举报
变量交换值有两种方法看个人喜好吧,如果追求高效的话用异或,毕竟第三方变量用完就变垃圾了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马