undefined

Цикл For

Java Syntax
4 уровень , 11 лекция
Открыта

— Хочу рассказать тебе ещё об одном цикле. Этот цикл называется for. Это ещё одна запись цикла while, просто более компактная и удобная [для программистов]. Примеры:

while
int i = 3;
while (i >= 0)
{
    System.out.println(i);
    i--;
}
for

for (int i = 3; i >= 0; i--) { System.out.println(i); }
while
int i = 0;
while (i < 3)
{
    System.out.println(i);
    i++;
}
for

for (int i = 0; i < 3; i++) { System.out.println(i); }
while
boolean isExit = false;
while (!isExit)
{
    String s = buffer.readLine();
    isExit = s.equals("exit");
}
for

for (boolean isExit = false; !isExit; ) { String s = buffer.readLine(); isExit = s.equals("exit"); }
while
while (true)
    System.out.println("C");
for
for (; true; )
    System.out.println("C");
while
while (true)
{
    String s = buffer.readLine();
    if (s.equals("exit"))
        break;    
}
for
for (; true; )
{
    String s = buffer.readLine();
    if (s.equals("exit"))
        break;    
}

— Эээ?

— Данные циклы эквиваленты. Если while содержит в скобках одно условие, то for – три. Но при компиляции for превращается в такой же цикл, как и while.

— Первое выражение в цикле for (выделено зеленым) выполняется один раз до цикла.

Второе выражение выполняется каждый раз перед исполнением тела цикла – аналогично условию в цикле while.

Третье – каждый раз после исполнения тела цикла.

— А зачем нужен ещё один цикл. С while все прекрасно понятно.

— Это сделано для удобства программистов. Циклы встречаются в программировании очень часто, и удобно, когда в одной строчке собрана информация о стартовом значении переменой, условии её изменения и команда, которая её меняет.

Комментарии (210)
Чтобы просмотреть все комментарии или оставить свой,
перейдите в полную версию
Игорь 10 уровень, Киев
31 марта 2021
for (boolean isExit = false; !isExit; ) { String s = buffer.readLine(); isExit = s.equals("exit"); } Объясните пожалуйста где условие что переменная isExit поменяет свое состояние на true когда в нее попадет слово exit? Значение станет true когда в принципе в переменную попадет строка?
piersto 12 уровень, Montreal
17 марта 2021

while (true)
{
    String s = buffer.readLine();
    if (s.equals("exit"))
        break;
}
А если не equals "exit" , а равен другому стрингу и я хочу этот стринг распечатывать, то как это написать?
Roman Grand 28 уровень, Новосибирск
13 марта 2021
это чувство, которое совсем не то..
Вилюян 8 уровень, Якутск
6 марта 2021
то есть в 4 ем примере не надо прописывать boolean? а просто ; в инициализации счетчика? Плюс спасибо комментариям внизу, очень помогли со структурой цикла!
Виталий Ващук 9 уровень
1 марта 2021
Тот случай: когда в коментариях - лучше обьяснено чем в лекциях!
Валентин 7 уровень, Пинск
18 декабря 2020

for ([инициализация счетчика]; [условие]; [изменение счетчика])
{
    // действия
}
for - не имеет три условия, выше пояснение, пишите лекции правильно, людей в заблуждение вводите
Aleksey Grin 15 уровень, Санкт-Петербург
21 ноября 2020
while - если заранее НЕ ИЗВЕСТНО сколько циклов. for - если ИЗВЕСТНО. можно конечно и наоборот сделать, для эрудированнлсти, но лучше руки сразу растить из плеч. ПС: если уж сделвли свою клаву для приложения, то сделайте рабочий спуск строки.
Артур 8 уровень, Москва
17 ноября 2020
ребята, что еще за "exit" ?? Как это вообще работает?))
Pogrom 7 уровень, Москва
4 ноября 2020
Рекомендую, коротко и понятно Про цикл for
Евгений 28 уровень, Москва
27 сентября 2020
Комментарий к тексту: 1. Есть еще вид цикла for: for(;;), что аналогично for(;true;) 2 Есть еще вид цикла while с постусловием: do{ // code } while(condition);