Я не высказываюсь против IDEA, просто столкнулся с пунктом "обязательно" в нескольких вакансиях, сейчас их вряд ли найду, чтобы подтвердить свои слова, вот из-за этого и возник вопрос "почему требуют?". По ответам узнал, что я обнаружил уникальные вакансии. + Некоторое время назад читал статьи/ответы на вопросы про IDE, в них говорили, что NetBeans становится всё только лучше и лучше, а у меня нет опыта коммерческой разработки/своих крупных проектов/знакомых из IT, поэтому я принял эту точку зрения (возможно это было удобно для меня, не нужно переучиваться). Но под этим вопросом уже 3 человека высказались в пользу IDEA, поэтому приму это к сведению и перейду к этой IDE. Неприятия нового нет, просто на уровне хэллоу ворлдов нет чёткого понимания для чего и почему.
Adamos, очевидно, что всё верно, я просто написал то же, что и вы, большое спасибо)
Последний вопрос, когда i = 10, а j = 2, b принимает значение false, на этом внутренний цикл прекращает же свою работу и мы сразу переходим к i = 11?
Adamos, я наконец-то понял, условие во внутреннем цикле не выполняется, следовательно b не принимает значение false, значит при значениях i = 7, j = 3 b остаётся true, потом выводится сообщение, а i сразу переходит к значению 8
Всё верно?
Adamos, у вас же наверняка есть ide, попробуйте запустить этот код, вы обнаружите, что программа выводит все простые числа от 2 до 100, если бы цикл прекращал свою работу, то многие из простых чисел не были бы выведены
Adamos, если бы значение не доходило до 7, то мы не смогли бы определить, что 7 - простое число, логика очевидна, если бы значение j остановилось бы на 3, то мы в итоге не получили бы при запуске программы число 7 среди простых чисел
Adamos, видимо я тупой, но вот самый простой пример
for ( int i = 0; i <= 2; i++)
System.out.println("значение i равно " + i);
После это цикла мы получим
значение i равно 0
значение i равно 1
значение i равно 2
Цикл закончился, т.к. при дальнейшем увеличение i условие (i <= 2) не выполняется
Но в коде из вопроса j все равно продолжает увеличиваться, хотя при i = 7, j = 3, условие ( j <= i / j ) не выполняется, а цикл все равно продолжается, j доходит до значение 7 при i = 7, программа в итоге определяет, что 7 - простое число и выводит его
Adamos, извиняюсь, что сразу не описал всё
Данная программа вычисляет простые числа от 2 до 100, относительно фигурных скобок у меня такой же вопрос к автору данного кода, я находил множество решений данной задачи, во всех из них действительно много скобок, но данный код взят из учебника Шилдта "Java руководство для начинающих", код полностью из него без каких-либо исправлений.
Цикл продолжается потому что при запуске в IDE, число 7 появляется после выполнения кода.
Про противоречие
Цитата из книги
"В самой общей форме исходное значение переменной цикла задается в части инициализация, а в части условие — логическое выражение, которое, как правило, проверяет значение переменной цикла. Если логическое выражение принимает значение true, цикл for продолжает выполняться. А если оно принимает значение false, то цикл прекращается"
В моём вопросе, когда j = 3, цикл должен принять значение false и прекратить дальнейшую работу согласно цитате из книги, но цикл for все равно продолжает выполняться
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.