Java:内存中会发生什么?

时间:2015-07-13 10:11:18

标签: java memory java.util.scanner

示例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. 在内存方面,第二个例子中输入的值是怎么回事?

  3. 请详细解答我的答案。

1 个答案:

答案 0 :(得分:5)

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

  2. 见prev。它已在堆栈中分配。

  3. 此外,建议局部变量以小写字母开头,如下所示:value

相关问题