请解释为什么var中的第二个变量是2,因为我们访问的是它作用域之外的变量。o/p - in=1 out=2 in=2
class Test{ public static void main(String args[]) { int var = 1; System.out.println("in="+var); { var = 2; System.out.println("out="+var); } System.out.println("in="+var); }}
class Test
{
public static void main(String args[])
int var = 1;
System.out.println("in="+var);
var = 2;
System.out.println("out="+var);
}
字符串
w9apscun1#
var的作用域由外部声明控制。你只有一个var。你不能 * 隐藏 * var,因为它是一个局部变量。然而,如果我们在例子中稍微调整一下。
var
static int var = 1;public static void main(String args[]){ System.out.println("in="+var); { int var = 2; System.out.println("out="+var); } System.out.println("in="+var);}
static int var = 1;
int var = 2;
会隐藏外部声明的var。它会输出
in=1out=2in=1
in=1
out=2
型
af7jpaap2#
这里声明一个变量并使用值int var = 1;初始化它现在你改变它的值var = 2;,所以var的值是2。System.out.println("in="+var);将打印var的最新值2。
2条答案
按热度按时间w9apscun1#
var
的作用域由外部声明控制。你只有一个var
。你不能 * 隐藏 *var
,因为它是一个局部变量。然而,如果我们在例子中稍微调整一下。字符串
会隐藏外部声明的
var
。它会输出型
af7jpaap2#
这里声明一个变量并使用值
int var = 1;
初始化它现在你改变它的值
var = 2;
,所以var的值是2。System.out.println("in="+var);
将打印var的最新值2。