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

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

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

局部变量在方法,构造函数或块中声明。

由此可见, 所有块变量都是局部变量。

根据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 ??" 

它是块的局部变量。 在for循环之外,j将不复存在。

j变量只能在{this block}中访问。 这不仅意味着它不能在其他任何地方进行更改,而且每次循环时都会重新创建它。

j只在循环中有作用域,在循环外部,j不能被访问。 有关范围的更多信息, 请参阅链接,这将有所帮助。

“本地”一词意味着某些东西可以在某处获得,但不在“某处”的范围之外。 在Java中,在块内声明的变量具有块作用域 ,这意味着它们仅在此块内可用 – 它们是本地的