在for循环中声明的变量的范围

时间:2013-10-19 06:30:16

标签: java

for(int i=0; i<10;i++){
 int j=0;
}

j是块变量还是局部变量?我看到j的范围只有for循环结束

5 个答案:

答案 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,这意味着它们仅在此块内可用 - 它们本地