Java 为什么我不能在for循环中打印两次循环值

Java 为什么我不能在for循环中打印两次循环值,java,Java,我正在做一个for循环,我注意到一个奇怪的问题。 在for循环中,我可以生成一个System.out.printlni; 打印出我的照片,效果很好。但是如果我尝试 要添加第二行以打印出i+1,我会得到一个错误, 说“我不能解析为变量” 为什么我不能在同一个文件中打印两次'I'的值 循环 public static void main(String[] args) { for (int i = 0; i<5; i++) System.out.println(i);

我正在做一个for循环,我注意到一个奇怪的问题。 在for循环中,我可以生成一个System.out.printlni; 打印出我的照片,效果很好。但是如果我尝试 要添加第二行以打印出i+1,我会得到一个错误, 说“我不能解析为变量”

为什么我不能在同一个文件中打印两次'I'的值 循环

public static void main(String[] args) {

    for (int i = 0; i<5; i++)

    System.out.println(i);
    System.out.println(i+1); // This i returns an error that says that 'i cannot be resolved to a variable'

}

您缺少括号:

public static void main(String[] args) {

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

        System.out.println(i);
        System.out.println(i+1); // This i returns an error that says that 'i cannot be resolved to a variable'
    }

}

必须在大括号内包括两行:

for (int i = 0; i<5; i++)
{
    System.out.println(i);
    System.out.println(i+1); 
}
因为i变量的作用域仅限于for循环。

试试这个

public static void main(String[] args) {
for (int i = 0; i<5; i++){
    System.out.println(i);
    System.out.println(i+1);
} 
}

当您在for/if etc上不使用括号{}时,只有下一行被视为它的内容。因此,在您的代码中,只有第一次打印被视为for循环的内容。要键入更多行,需要使用括号{}

在java和许多其他语言中,块由{}等Braket标记。这里面的一切都在一个范围内。如果你跳过一个循环的刹车,不管是哪个循环,只有下一行作为循环体。因此,您的代码:

  for (int i = 0; i<5; i++)
      System.out.println(i);
      System.out.println(i+1); 
相当于

  for (int i = 0; i<5; i++) {
     System.out.println(i);
  }
  System.out.println(i+1);

正如你所看到的,循环中只有一条语句。另一个在外面。您得到的错误是因为变量i不在该范围内。它只存在于for循环内。

您需要在大括号内添加两条语句,因为您有多条语句,而第二条语句在循环外

试试这个代码

public static void main(String[] args){  

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

        System.out.println(i);

        System.out.println(i+1);
    } 

}

如果代码缩进正确,原因很明显。第一个println在您的循环中。第二个在外面。这就是为什么您应该使用{}。和适当的缩进。你需要将你的语句包装在{}内,包括花括号{…}谢谢大家!对不起,我真是个白痴谢谢你,先生,这是一个非常有用的评论。不是等效的。它不是python