Java:记忆中发生了什么?

Java: What happens in the memory?

示例 1:

System.out.print("Enter an integer: ");
int x = input.nextInt();
if(x < value) {  }

示例 2:

System.out.print("Enter an integer: ");
if(input.nextInt() < value) {  }

我有两个问题:

  1. 如果您 需要特定条件下的值,使用哪个更好?或者两种语法在内存方面是相同的?

  2. 第二个示例中输入的值在内存方面发生了什么变化?

我想要详细的答案。

  1. 示例在内存方面是相同的,因为在这两种情况下,整数值都被放入堆栈。但是,第一种方法更便于调试,因为您可以轻松观察值并更改它。

  2. 见上一条它分配在堆栈中。

此外,局部变量建议以小写字母开头,像这样:value.