我正在做一些练习,想知道是否有人可以解释如何分别引用 int a
和 a = 15
?
public class SwapVariables {
public static void main(String[] args) {
int a, b;
a = 15;
b = 27;
System.out.println("Before swap: a = "+a+" b = "+b);
a = a + b;
b = a - b;
a = a - b;
System.out.println("After swap: a = "+a+" b = "+b);
}
}
最佳答案
埃利奥特的回答很好,但为了更好地理解它是如何工作的。一开始你声明了两个变量 a 和 b。这些只是内存中每个大小为 4 字节的区域中的引用(java 中的 int 为 32 位)。在第二行中,您说转到我“称为”a 的 4 个字节,并将它们命名为“a”并将其值设置为 15。因此,在内存中您正在执行写入过程。 b 也是如此。接下来,您将在开始时执行读取,然后执行写入。你是说转到内存中的“a”点并获取值,转到内存中的“b”点并获取值并执行加法,即42。取出结果并将其写入“a”点在内存中。现在“a”有了新值,旧值发生了变化。除非该内存区域发生更改,否则 a 的值将为 42。相同的逻辑适用于所有后续行。希望能帮助大家更好的理解!
关于java - 不同值的变量如何引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60122741/