Java 交换两个整数值
因此,我编写了一个简单的函数来交换两个值,但由于某些原因,它们不会被交换。我知道我的代码的逻辑是正确的,但我想知道为什么不交换值。您的问题是Java(当涉及到诸如ints之类的基本值时)是“按值传递”,而您的代码天生就假定为“按引用传递”。 这是一个很好的描述。简言之,调用函数时,参数基本上作为新变量“复制”到函数中,这些新变量与原始变量不同,尽管它们具有相同的值。因此,这些变量的内容独立于父函数变量的内容而变化Java 交换两个整数值,java,Java,因此,我编写了一个简单的函数来交换两个值,但由于某些原因,它们不会被交换。我知道我的代码的逻辑是正确的,但我想知道为什么不交换值。您的问题是Java(当涉及到诸如ints之类的基本值时)是“按值传递”,而您的代码天生就假定为“按引用传递”。 这是一个很好的描述。简言之,调用函数时,参数基本上作为新变量“复制”到函数中,这些新变量与原始变量不同,尽管它们具有相同的值。因此,这些变量的内容独立于父函数变量的内容而变化 public class freedom { public static
public class freedom {
public static void main(String args[]){
int x = 10;
int y = 20;
System.out.println(" x is: "+x+" y is: "+y);
swap(x,y);
System.out.println(" x is: "+x+" y is: "+y);
}
public static void swap(int x, int y){
int temp = x;
x = y;
y = temp;
}
}