只是想知道之间是否存在任何计算差异:
for(;condition;) {
//task
}
和
while(condition) {
//task
}
最佳答案
这两种情况没有区别
Java 编译器生成相同的字节码
。如果您查看我使用 for 循环
时的字节码:
0: bipush 11
2: istore_1
3: goto 9
6: iinc 1, -1
9: iload_1
10: bipush 10
12: if_icmpgt 6
15: return
上面的字节码是为下面的代码生成的:
int a = 11;
for (; a > 10;) {
a--;
}
同样的字节码:
Code:
0: bipush 11
2: istore_1
3: goto 9
6: iinc 1, -1
9: iload_1
10: bipush 10
12: if_icmpgt 6
15: return
在我使用while循环
时由编译器生成
int a = 11;
while (a > 10) {
a--;
}
关于java - while 和 for 循环在计算上有什么区别吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55115947/