for(int i=0; i<10;i++){
int j=0;
}
j是块变量还是局部变量?我看到j的范围只有for循环结束
答案 0 :(得分:8)
局部变量在方法,构造函数或块中声明。
从中可以清楚地看出,所有块变量都是局部变量。
根据Block
的定义块是平衡大括号之间的一组零个或多个语句,可以在允许单个语句的任何位置使用。
所以
{ //block started
} //block ended
块中声明的变量是什么,范围仅限于该块。
for(int i=0; i<10;i++){
int j=0;
}
因此J
范围仅限于该块内部。这是循环。
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 ??"
答案 1 :(得分:2)
它是块的局部变量。在for循环之外,j将不复存在。
答案 2 :(得分:1)
j变量只能在{this block}中访问。这不仅意味着它不能在其他任何地方进行更改,而且每次循环时都会重新创建它。
答案 3 :(得分:0)
j仅在循环中具有范围,在循环外部,j无法访问。 有关范围的更多信息,请refer the link, it will be helpful.
答案 4 :(得分:0)
“本地”一词意味着某处可以获得某些东西,但不能超出这个“某处”的范围。在Java中,在块中声明的变量具有block scope,这意味着它们仅在此块内可用 - 它们本地。