java和javascript for循环的区别

bbmckpt7  于 2021-08-25  发布在  Java
关注(0)|答案(2)|浏览(460)

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

javascript程序

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中的for循环和javascript中的for循环有什么区别。有人能解释javascript中for循环的流程吗?提前谢谢。

vawmfj5a

vawmfj5a1#

在javascript中,您将设置 demo1 将容器添加到新字符串。迭代结束时,元素仅包含字符串中的最终值。
相反,在java中,每次迭代都要记录和查看字符串,而不是只查看最终值。
如果在javascript中附加新的html标记,而不是覆盖容器中以前的标记,则会看到相同的输出:

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

或者,要更改java以显示原始javascript的功能(无换行符),只需检查最后一个字符串:

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

w1e3prcc2#

是的,在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端。

相关问题