(10.16)java小作業!
阿新 • • 發佈:2017-10-16
程序實現 stat 也好 多少 發現 erl 經典的 main 想象力
相信大家剛剛學習java多多少少都會寫一些java的基礎編程來練練手感,我也不例外!今天想和大家分享一下我最近所接觸到的比較有趣的java小編程!
已知a已被賦值,b已被賦值,請編寫java程序實現a與b值的互換:
其實這道題挺經典的,無論是C語言也好,java也好,都把這道題作為入門的小作業,它的解法如下:
1 public class Demo{ 2 public static void main(String[] args){ 3 int a=1;//為a賦值 4 int b=2;//為b賦值 5 int temp=a;//新的變量6 a=b; 7 b=temp;//a與b互換 8 } 9 }
解答這道題的方法通常都是初始化一個新的變量,以該變量作為中間變量,來防止a或者b被覆蓋,通過這樣的方法來解這道題。那麽,除了這種常規的解題方法還有別的解題方法麽?
答案是肯定的,下面我會為大家再列舉兩種解題方法,有其他解題的方法也歡迎大家補充!
1.加減法
public class Demo { public static void main(String[] arg) { int a = 1; int b = 2; a = b-a; b= b-a; a = b+a; } }
2.異或法
public class Demo {
public static void main(String[] arg) {
int a = 1;
int b = 2;
a = a^b;
b = a^b;
a = a^b;
}
}
其實,不管是加減法也好,異或法也好,這兩種解題方法都是我們解題時思維的延伸,也是我們思維邏輯的一種改變,畢竟java就是一堆積木,所有的一切都是通過一步一步的組合來完成的,而完成品是什麽樣的取決於我們的思考方式和想象力,所以千萬不要只局限於一種解法,要勇於去擴展自己的思維,改變自己的邏輯,才能發現更有趣的世界!
(10.16)java小作業!