Java 为什么我不能在for循环中打印两次循环值
我正在做一个for循环,我注意到一个奇怪的问题。 在for循环中,我可以生成一个System.out.printlni; 打印出我的照片,效果很好。但是如果我尝试 要添加第二行以打印出i+1,我会得到一个错误, 说“我不能解析为变量” 为什么我不能在同一个文件中打印两次'I'的值 循环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);
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