正如我在線閱讀的,Java是通過值傳遞的,一般的交換函數不會交換這兩個值。我也讀過,不可能交換原始類型的值。我想知道爲什麼下面的程序工作並在交換後顯示不同的valies?通過程序瞭解java中的swap函數
public class swapMe {
public static void main(String[] args) {
int x = 10 , y = 20;
System.out.println("Before");
System.out.println("First number = " + x);
System.out.println("Second number = " + y);
int temp = x;
x = y;
y = temp;
System.out.println("After");
System.out.println("First number = " + x);
System.out.println("Second number = " + y);
}
}
是它喜歡的地方,的x = 10
原始值和y = 20
仍在某處存儲和顯示的交換值不正確?請指教。謝謝
(捂臉!)你們這些值傳遞到任何方法,以檢查***交換功能將不會掉***理論??? –
在執行'int temp = x;'之後,存儲在'temp'中的'x'的值。等等。他們不是「某個地方」,你自己告訴編譯器他們應該在哪裏。 –
您需要理解字面**交換**和交換變量之間的+賦值的區別。另外 - 「*因爲我在網上讀到Java是通過值傳遞的*」您從未將任何變量傳遞給示例中的任何方法 – Fureeish