Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 25.06.2018
Сообщений: 7

Цикл while - как работает?

25.06.2018, 19:08. Показов 1720. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Помогите разобраться, почему при условии а меньше либо равно 3, при запуске программа печатает цифру 4?
код во вложении.
Миниатюры
Цикл while - как работает?  
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.06.2018, 19:08
Ответы с готовыми решениями:

Цикл while работает бесконечно,как остановить
Не могу остановить цикл while он работает бесконечно public class Prog_50 { public static void main(String args) { int z=-5;...

Цикл: как работает цикл в цикле
Не могу понять как работает цикл в цикле например: repeat begin lalalala if что-то1<>100 then begin lalalala2 ...

Цикл работает неправильно, в то время как POST работает
Всем привет! Я хотел написать под php скрипт с авторизацией, брут, на своем сайте(подбор пароля). Написал код на загрузку словаря +...

9
 Аватар для Aviz__
2739 / 2048 / 507
Регистрация: 17.02.2014
Сообщений: 9,467
25.06.2018, 19:16
Цитата Сообщение от Турин Посмотреть сообщение
меньше либо равно 3,
потому, что до условия a = 0. в цикле прибавляется 1, к a
это поможет увидеть все самому https://www.cyberforum.ru/java/thread2250765.html
1
68 / 18 / 0
Регистрация: 26.01.2018
Сообщений: 166
25.06.2018, 19:22
Если напишите:
Java
1
2
3
4
5
6
7
8
9
public class While {
    public static void main(String args []) {
        int a = 0;
        while (a<3){
            a=a+1;
            System.out.println(a + " Hello!");
        }
    }
}
то будет три раза "1 Hello!"
0
0 / 0 / 0
Регистрация: 25.06.2018
Сообщений: 7
25.06.2018, 19:28  [ТС]
Да, но почему пишет цифру 4? Это же противоречит условию <=3. Четыре больше трех, значит она не должна выводиться
0
 Аватар для Aviz__
2739 / 2048 / 507
Регистрация: 17.02.2014
Сообщений: 9,467
25.06.2018, 19:35
0 +1; 1 + 1; 2 + 1; 3 + 1 и выход

Добавлено через 1 минуту
почему не хочешь по шагам все увидеть сам?!
1
0 / 0 / 0
Регистрация: 25.06.2018
Сообщений: 7
25.06.2018, 19:48  [ТС]
Мне не понятно, почему не выполняется условие. 4 больше чем 3, а в условии - меньше, либо равно.
Если в теле цикла сначала поставить System.out.print(a + " Hello"); а потом a=a+1;, то тогда последним будет печатать 3 Hello

Добавлено через 2 минуты
Получается цикл сначала проверяет условие, а потом выполняет инструкцию?
0
25.06.2018, 19:53
 Комментарий модератора 
Турин, код выкладываем в текстовом виде, а не скриншотами!
1
0 / 0 / 0
Регистрация: 25.06.2018
Сообщений: 7
25.06.2018, 20:00  [ТС]
Вот и ответ на мой вопрос: а = 0. Цикл погнал проверять условие: 0<=3 - true. Значит можно выполнять инструкцию: 0+1 и потом вывод на экран: 1 Hello.
Когда а=3, цикл проверил условие, выдало true. Дальше погнал выполнять инструкцию: 3+1 и вывод на экран: 4 Hello.
Вот почему появляется цифра 4

Добавлено через 1 минуту
Всем спасибо!!!
0
68 / 18 / 0
Регистрация: 26.01.2018
Сообщений: 166
25.06.2018, 21:16
Цитата Сообщение от Турин Посмотреть сообщение
Мне не понятно, почему не выполняется условие. 4 больше чем 3, а в условии - меньше, либо равно.
Если в теле цикла сначала поставить System.out.print(a + " Hello"); а потом a=a+1;, то тогда последним будет печатать 3 Hello
Отсчет с нуля идет. Как происходит процесс, вам хорошо объяснил Aviz.
0
22 / 10 / 2
Регистрация: 25.06.2018
Сообщений: 155
26.06.2018, 06:16
Лучший ответ Сообщение было отмечено Турин как решение

Решение

while - ПОКА true(правда) выполняет действие. если false(ложь) прекращает действие. и передает действие следующему. в твоем случае дойдя до цикла когда "a" равен "3" прибавляет +1. т.к. в цикле спрашивается меньше или равно 3. получается 3 равно 3? true и поэтому он и выполняет еще раз +1
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
26.06.2018, 06:16
Помогаю со студенческими работами здесь

Как работает цикл for?
не могу понять как работает printf в цикле for. Почему цикл выводит результат с 0 ? И почему, если написать printf(&quot;%d /n&quot;, i*2)...

Как работает цикл
Уважаемые, не могли бы вы пояснить работу следующего цикла: vector&lt;int&gt; path; for (int cur=t; cur!=-1; cur=p) path.push_back...

как работает цикл while
Вопрос может и глупый... Но хотелось бы узнать точно.. Вообщем, есть класс-оболочка, который блокирует и освобождает ресурс.. Блокирует...

Как работает цикл?
Здравствуйте! Помогите разобраться. Есть генератор случайных чисел, который выдает 100 чисел от 0-20. Надо их отсортировать. ...

Не пойму как работает цикл
for(var i=1; i&lt;9;i++){ document.write(&quot;Квадрат&quot; + i + &quot;равен&quot; + i*i + &quot;&lt;br/&gt;&quot;); } for(var i=1; i&lt;9;i++){ ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Установка Emscripten SDK (emsdk) и CMake на Windows для сборки C и C++ приложений в WebAssembly (Wasm)
8Observer8 30.01.2026
Чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. Система контроля версиями Git. . .
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru