java – 为什么允许在for循环中声明变量?

我是一名学生,目前在学校学习 java(初学者),我对此感到疑惑.
我对其他语言的编码有基本的了解,我不了解 Java中的特定内容.
如果我在一个循环中声明一个变量(让我们使用一个int作为例子)并不意味着我一遍又一遍地声明同一个变量?

这就是我的意思:

for (int i = 0; i < 3; i ++) {
    int x = 5;
}

这不是一回事吗? (这个不正确)

int x = 5;
int x = 5;

如果没有,为什么?它们都是/两次声明相同的变量,虽然我知道在循环中变量是本地的,不能在循环之外使用(我不认为这是问题).
我也知道你不能两次声明相同的变量,所以我不明白第一个例子是如何合法的.

非常感谢:D

这个问题已经解决,感谢所有帮助过的人:D

解决方法

for (int i = 0; i < 3; i ++) {
    int x = 5;
}

实际上相当于:

{
    int x = 5;
}
{
    int x = 5;
}
{
    int x = 5;
}

每个x变量都在一个单独的范围内声明.

相关文章

最近看了一下学习资料,感觉进制转换其实还是挺有意思的,尤...
/*HashSet 基本操作 * --set:元素是无序的,存入和取出顺序不...
/*list 基本操作 * * List a=new List(); * 增 * a.add(inde...
/* * 内部类 * */ 1 class OutClass{ 2 //定义外部类的成员变...
集合的操作Iterator、Collection、Set和HashSet关系Iterator...
接口中常量的修饰关键字:public,static,final(常量)函数...