在C/C++中,当一个块处于另一个块作用域内的时候,内层定义的变量会把外层的变量隐藏,

遵循所谓的就近原则。

在Java中,在内层定义与外层同名的变量是禁止的!

如下:

int i = 0;

for(int i = 0; i < 20; i++){

 //do Something

}

这样的代码在C/C++中是可以的,在Java 会有编译错误!