У меня был простой бит кода, который был предполагаемым бесконечным циклом, так как x
всегда будет расти и всегда будет оставаться больше j
.
int x = 5;
int y = 9;
for (int j = 0; j < x; j++) {
x = x + y;
}
System.out.println(y);
но как есть, он печатает y
и не работает бесконечно. Я не могу понять, почему. Однако, когда я настраиваю код следующим образом:
int x = 5;
int y = 9;
for (int j = 0; j < x; j++) {
x = x + y;
System.out.println(y);
}
System.out.println(y);
Он становится бесконечным циклом, и я понятия не имею, почему. Ява признает его бесконечный цикл и пропускает его в первой ситуации, но ему нужно выполнить вызов метода во втором, чтобы он вел себя так, как ожидалось? Confused:)