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) { }
我有两个问题:
如果您 仅 需要特定条件下的值,使用哪个更好?或者两种语法在内存方面是相同的?
第二个示例中输入的值在内存方面发生了什么变化?
我想要详细的答案。
示例在内存方面是相同的,因为在这两种情况下,整数值都被放入堆栈。但是,第一种方法更便于调试,因为您可以轻松观察值并更改它。
见上一条它分配在堆栈中。
此外,局部变量建议以小写字母开头,像这样:value
.
示例 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) { }
我有两个问题:
如果您 仅 需要特定条件下的值,使用哪个更好?或者两种语法在内存方面是相同的?
第二个示例中输入的值在内存方面发生了什么变化?
我想要详细的答案。
示例在内存方面是相同的,因为在这两种情况下,整数值都被放入堆栈。但是,第一种方法更便于调试,因为您可以轻松观察值并更改它。
见上一条它分配在堆栈中。
此外,局部变量建议以小写字母开头,像这样:value
.