var中的第二个将是2,因为我们在其范围之外访问它



请解释var中的第二个值将如何为2,因为我们正在访问it范围之外的值。o/p-输入=1输出=2输入=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);
}
}

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);
}

是否对外部声明的var进行阴影处理。它确实输出

in=1
out=2
in=1

在这里声明一个变量并用值int var = 1;初始化它

现在您更改它的值var = 2;,所以var的值为2。

System.out.println("in="+var);将打印var的最新值,该值为2。

最新更新