2014-01-11 5 views
1

Будут ли возникать проблемы при использовании следующего цикла for, когда переменная равна 0?Java for loop from 0 to 0

for(int i = 0; i < variable; i++) 

Это, кажется, иногда работает, но в других случаях я получаю сообщение об ошибке с кодом внутри цикла for. Должен ли я указывать только запуск цикла for, когда переменная больше 0? Я понял, что цикл for просто не будет работать, если значения инициализации и завершения совпадают.

Заранее спасибо.

+4

Если переменная = 0, то цикл цикла НИКОГДА не будет запущен. – TheLostMind

+0

Штукатурка, вот что я думал. К сожалению, это означает, что что-то другое вызывает ошибку. Спасибо за ответ. – ArmaAK

+0

поле завершения в цикле будет возвращать false, поэтому цикл for..and 'i Lucky

ответ

3

"Должен ли я указать только запустить цикл, когда переменная больше 0?"

Ответ: No. Если прекращения состояние for является ложным, его тело не будет выполнено.

В соответствии с Java docs:

for (initialization; termination; increment) { 
    ... 
} 
  • выражение инициализации инициализирует цикл; он выполняется один раз, когда начинается цикл.
  • Когда выражение оценивает на значение false, цикл завершается.
  • Приращение выражение вызывается после каждой итерации через петлю; это вполне приемлемо для этого выражения для увеличения или уменьшения значения.
1

Я понял, что цикл for просто не будет работать, если значения инициализации и завершения совпадают.

Вы, , правильно указали.

public static void main(String[] args) { 
    int variable = 0; 
    System.out.println("Before for"); 
    for (int i = 0; i < variable; i++) { 
    System.out.printf("i = %d\n", i); 
    } 
    System.out.println("After for"); 
} 

Выходы

Before for 
After for