java 交换两个数的值(临时变量,加减,异或)
生活随笔
收集整理的這篇文章主要介紹了
java 交换两个数的值(临时变量,加减,异或)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
臨時變量
開發中一般使用此方式
加減
第二種寫法:
異或(位運算符)
原理
^異或:相同為0,不同為1
總代碼
class ExchangeNumber {public static void main(String[] args) {//交換兩個變量的值//方法1:使用臨時變量int num1=67;int num2=32;System.out.println("num1="+num1+"\tnum2="+num2);//num1=67 num2=32int test=num1;num1=num2;num2=test;System.out.println("num1="+num1+"\tnum2="+num2);//num1=32 num2=67//方法2:使用加減的方式交換//好處:不需要定義臨時變量 //弊端:相加可能超出數據類型范圍;只能適用于數值型int num3=78;int num4=22;System.out.println("num3="+num3+"\tnum2="+num4);//num3=78 num2=22num1=num3+num4;num3=num1-num3;num4=num1-num4;System.out.println("num3="+num3+"\tnum4="+num4);//num3=22 num4=78//方法3:使用位運算符號//原理:n=(m^n)^m,所以如果要交換m和n就是n=(m^n)^n【把m的值賦值給n】//弊端:只能適用于數值型//寫法1int num5=33;int num6=22;System.out.println("num5="+num5+"\tnum6="+num6);//num5=33 num6=22int k=num5^num6;num5=k^num5;num6=k^num6;System.out.println("num5="+num5+"\tnum6="+num6);//num5=22 num6=33//寫法2:int num7=77;int num8=88;System.out.println("num7="+num7+"\tnum8="+num8);//num7=77 num8=88num7=num7^num8;num8=num7^num8;num7=num7^num8;System.out.println("num7="+num7+"\tnum8="+num8);//num7=88 num8=77//測試int m=34;int n=90;System.out.println((m^n)^m);//90} }總結
以上是生活随笔為你收集整理的java 交换两个数的值(临时变量,加减,异或)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 进程之间通信 共享内存
- 下一篇: 天王盖地虎 小鸡炖蘑菇是什么意思(天王盖