Существует no difference
, как в обоих случаях Java compiler generates the same byte code
. Если вы посмотрите на байт-код, когда я использовал for loop
:
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 loop
int a = 11;
while (a > 10) {
a--;
}