for(int i=0; i<10;i++){
int j=0;
}
ja 块变量还是局部变量?我看到 j 的作用域只到 for 循环结束
局部变量在方法、构造函数或块中声明。
从中可以清楚地看出, 所有块变量都是局部变量。
根据块的定义
块是一组位于平衡大括号之间的零个或多个语句,可以在任何允许使用单个语句的地方使用。
所以
{ //block started
} //block ended
无论在块内声明的变量是什么,范围都限于该块。
for(int i=0; i<10;i++){
int j=0;
}
因此J
范围仅限于该块内。那是for循环。
for(int i=0; i<10;i++){
int j=0;
//do some thing with j ---> compiler says "yes boss"
}
//do some thing with j ---> compiler says "Sorry boss, what is j ??"
它是 for 块的局部变量。在 for 循环之外, j 将不复存在。
j 变量只能在 {this block} 内访问。这不仅意味着它不能在其他任何地方更改,而且每次循环时都会重新创建它。
j 只在循环内有作用域,在循环外, j 不能被访问。有关范围的更多信息,请参阅链接,这将很有帮助。
“本地”一词意味着某处可以使用某些东西,但不在此“某处”的范围之外。在块内声明的 Java 变量具有块作用域,这意味着它们仅在此块内可用 - 它们是它的本地变量。