gpt4 book ai didi

java - 变量的范围规则

转载 作者:行者123 更新时间:2023-11-29 05:18:27 25 4
gpt4 key购买 nike

突然间,我开始思考变量的作用域规则。我对编程并不陌生,更让我害怕的是我不知道这个问题的答案。

我记得在网络上阅读过有关变量范围界定的内容,他们将有一个示例,其中他们将在 {} 之外声明一个变量,并且他们将更改{} block ,当他们在这两个不同的范围内打印它时,他们会得到不同的结果。

现在,在下面的代码中。

main(){
int a=20;
sysout(a);

if(true){
a=30;
sysout(a);
}
sysout(a);
}

现在,我得到 20,30,30 作为输出。我对此没有意见。但后来我在想互联网上那些向我展示不同结果的例子是什么。所以我想我会在 {}

中再次声明 a

代码:

main(){
int a=20;
sysout(a);

if(true){
int a; // In java, this gives me error, saying duplicate local variable a.
a=30;
sysout(a);
}
sysout(a);
}

所以,我在网上看到的那个例子到底是什么?如果有人能把我从痛苦中解救出来。

谢谢

最佳答案

应该是这个例子:

int a=20;
main(){
sysout(a);

if(true){
int a = 30; // now this will shadow the class variable a
sysout(a);
}
sysout(a);
}

现在输出应该是:

20 30 20

关于java - 变量的范围规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25697388/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com