简单的Java交换

时间:2015-09-07 04:21:03

标签: java swap

这些看起来和我一样,但为什么它们产生不同的输出?我是Java新手所以请耐心等待我!

此交换功能正常工作

//Swap 1 Output is "4,8"
public class SampleSwap {
public static void main(String[] args)
{   
    int a=8;
    int b=4;
    int temp;

    temp=a;
    a=b;
    b=temp;

   System.out.println("a:" +a);
   System.out.println("b:" +b);
}
}

此交换功能不起作用

//Swap 2 Output is "8,4" 
public class Swap {
public static void main(String[] args) {
    int a = 8, b = 4;
    swap(a, b);
        System.out.print(a + "," + b);
    System.out.println();
}

public static void swap(int a, int b) {
    int tmp = a;
    a = b;
    b = tmp;
}
}

1 个答案:

答案 0 :(得分:2)

这些参数按值传递。它们不会改变原件。