java 和 JavaScript for 循环的区别

Difference between java and JavaScript for loop

Java 计划

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

//Java输出

XYZ 0
XYZ 01
XYZ 012
XYZ 0123
XYZ 01234

Java脚本程序

let str="XYZ ";
for(let i=0;i<5;i++){
   str+=i+"<br>";
   document.getElementById("demo1").innerHTML=str;
}

JavaScipt 输出

XYZ 0
1
2
3
4

我的疑惑是:Java和Java脚本中的for循环有什么区别。任何人都可以解释 Java 脚本中 for 循环 的流程吗? 提前致谢。

在 Java 脚本中,您将 demo1 容器的 全部内容 设置为新字符串。在迭代结束时,元素仅包含字符串中的最终值。

相比之下,在 Java 中,您在每次迭代时记录并查看字符串,而不仅仅是最终值。

如果您在 Java 脚本中附加新的 HTML 标记而不是覆盖容器中之前的标记,您将看到相同的输出:

let str = "XYZ ";
for (let i = 0; i < 5; i++) {
  str += i;
  demo1.innerHTML += str + '<br>';
}
<pre id="demo1"></pre>

或者,要更改 Java 以显示原始 Java 脚本的作用(没有换行符),只需检查最后的字符串:

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

是的,您没有在 Java 中的字符串连接末尾包含换行符。所以如果你想匹配JS,那就是:

public class HelloWorld{
    public static void main(String []args){        
    String str="XYZ ";     
    int i;
    for (i = 0; i < 5; i++) {
        str += + i + "\n";
    }
    System.out.println(str);
    }
}

其中“\n”相当于 BR 换行符。此外,正如其他人所提到的,您正在以不同的方式查看结果,println 每次调用时都会附加换行符,因此 ln.

输出:

> java -cp . HelloWorld
XYZ 0
1
2
3
4

让我在那里循环了一秒钟,以为我错过了一些关于循环的东西!他们的行为相同,只是在 JS 端包含换行符,而不是 Java 端。