1. Круглая структура
Оператор цикла может неоднократно выполнять определенный кусок кода, когда условие цикла выполняется. Этот повторяющийся код называется оператором корпуса петли. Когда этот корпус цикла неоднократно выполняется, условие суждения петли необходимо изменить до ложном в подходящее время для завершения цикла, в противном случае цикл будет продолжать выполнять, образуя мертвый цикл.
Состав операторов цикла:
Оператор инициализации: одно или несколько операторов, эти операторы завершают некоторые операции инициализации.
Условное заявление о решении: это логическое выражение, которое может определить, выполнить ли тело цикла.
Заявление о петле-тел: эта часть представляет собой заявление о петле-тел, которое мы должны делать много раз.
Заявление условия управления: Эта часть выполняется до того, как следующее условие решения цикла будет выполнено после окончания тела цикла. Управляя переменными в условиях петли, петля заканчивается в соответствующее время.
Например: когда «Helloworld» выводит 10 раз на консоли,
Оператор инициализации: Определите инициализацию как первый раз.
Условное утверждение суждения: количество раз не может превышать 10 раз.
Оператор тела цикла: вывести оператор «Helloworld».
Оператор управления: количество раз изменяется в следующий раз.
2. Структура петли (для оператора петли)
Для формата оператора цикла:
для (утверждение инициализации; условное утверждение суждения; Управляющее условное утверждение) {
Утверждение тела петли;
}
Процесс выполнения:
A: выполнить оператор инициализации
B: Выполните условное утверждение суждения, чтобы увидеть, правда ли результат или false: если он ложный, цикл заканчивается; Если это правда, продолжайте выполнять.
C: Оператор тела выполнения цикла
D: Оператор «Выполнить условия управления»
E: вернуться к B и продолжить
блок -схема:
Примечания:
(1) Результатом условного утверждения является логический тип
(2) Если оператор цикла является единственным оператором, брекеты могут быть опущены; Если это несколько операторов, брекеты не могут быть опущены. Рекомендуется не опустить его.
(3) Вообще говоря: если есть левая скоба, нет полуколона, если есть полуколон, левой скобы нет.
Пример кода:
1. Найдите сумму ровных чисел между 1-100:
/* Требования: A: Найдите сумму 1-100. B: Найдите сумму ровных чисел между 1-100*/Class Fortest1 {public static void main (string [] args) {// Найти сумму 1-100. int sum1 = 0; for (int x = 1; x <= 100; x ++) {sum1+= x; } System.out.println ("1-100 is:"+sum1); System.out.println("-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- // Метод 2 sum3 = 0;2. Найдите фактор 5:
/* Требование: Найдите фактор 5. Что такое фактор? n! = n*(n-1)! Правило n! = n*(n-1)*(n-2)*...*3*2*1 Идеология суммы. Найдите факторную мысль. */class fortest2 {public static void main (string [] args) {// определить конечную переменную результата int jc = 1; // x здесь может фактически запускаться непосредственно с 2 // for (int x = 1; x <= 5; x ++) для (int x = 2; x <= 5; x ++) {jc *= x; } System.out.println ("1-5 факториал:"+jc); }}3. Вывод все «номер нарцисса» в консоли:
/* Требования: вывод всех «чисел нарциссов» в анализе консоли: мы не знаем, что такое «числа нарциссов», что вы просите меня сделать? Так называемые номера нарциссов относятся к трехзначному числу, а сумма куба их цифр равна самому числу. Например: 153 - нарцискую. 153 = 1*1*1 + 5*5*5 + 3*3*3 = 1 + 125 + 27 = 153 a: Трехзначный номер фактически говорит нам диапазон. B: Через цикл FOR мы можем получить каждый тройной цифровой номер, но проблема в том, как получить данные этого трехзначного числа, десяти и сотен. Как получить данные данных, десять и сотни? Предположим, что есть данные: 153 GE: 153%10 = 3 SHI: 153/10%10 = 5 BAI: 153/10/10%10 = 1 Qian: x/10/10/10%10 WAN: x/10/10/10/10%10 ... C: Let ge*ge*ge+shi*shi*shi+bai*bai*bai compare с данными и выходом на данные. */class fortest3 {public static void main (string [] args) {// тройная цифра на самом деле рассказывает нам диапазон. для (int x = 100; x <1000; x ++) {int ge = x%10; int shi = x/10%10; int bai = x/10/10%10; // Пусть Ge*ge*ge+shi*shi*shi+bai*bai*bai сравнивать с данными if (x == (ge*ge*ge+shi*shi*shi+bai*bai)) {// Если то же самое, выведите данные на консоли. System.out.println (x); }}}}3.
В то время как формат оператора цикла:
while (условное утверждение) {
Утверждение тела петли;
}
// Увеличенный оператор инициализации формата;
while (условное утверждение) {
Утверждение тела петли;
Заявление условия управления;
}
блок -схема:
Разница между петлей и петлей в течение всего времени:
Для операторов цикла и в то время как операторы цикла могут быть преобразованы эквивалентно, но все еще есть небольшие различия.
(1) Различия в использовании:
Переменная, контролируемая управляющим условным оператором, не может быть доступна после окончания цикла и может продолжать использоваться после окончания цикла while. Если вы хотите продолжать использовать его, используйте во время, в противном случае рекомендуется использовать. Причина заключается в том, что для концов цикла и переменная исчезает из памяти, что может повысить эффективность использования памяти.
(2) Разница сцены:
Для цикла подходит для работы для решения диапазона, в то время как Loop подходит для операции для неясного количества суждений
Пример кода:
Самая высокая гора в нашей стране - гора Эверест: 8848m. Теперь у меня есть достаточно большая бумага с толщиной: 0,01 м. Могу я спросить, сколько раз я складываю его, чтобы убедиться, что толщина не ниже высоты горы Эверест?
/* Самая высокая гора в нашей стране - гора Эверест: 8848m. Теперь у меня есть достаточно большая бумага с толщиной: 0,01 м. Могу я спросить, сколько раз я складываю, я могу убедиться, что толщина не ниже высоты горы Эверест? Анализ: A: Определите статистическую переменную, значение по умолчанию составляет 0 B: самый высокий пик - Mount Everest: 8848m Это конечная толщина. Теперь у меня есть достаточно большой лист бумаги, с толщиной: 0,01 м. Какие изменения произойдут, если я сложу это один раз? То есть толщина в два раза больше, чем раньше. D: до тех пор, пока толщина каждого изменения не превышает высоту Mount Everest, она будет сложена, статистическая переменная ++ E: выходные статистические переменные. */class whiletest01 {public static void main (string [] args) {// определить статистическую переменную, значение по умолчанию равно 0 int count = 0; // Самая высокая вершина - Mount Everest: 8848m Это конечная толщина // Теперь у меня есть бумага, которая достаточно большая, с толщиной: 0,01 м. Это начальная толщина // для простоты, я превратил 0,01 в 1, а тот же путь 8848 стал 884800 int end = 884800; int start = 1; в то время как (start <end) {// до тех пор, пока толщина каждого изменения не превышает высоту крепления Эверест, сложите его и статистическую переменную ++ count ++; // Какие изменения произойдут, если они сложены один раз? Это то, что толщина в два раза превышает предыдущий. начало *= 2; System.out.println ("th"+count+"толщина"+старт); } // Выходные статистические переменные. System.out.println ("чтобы быть сложенным"+count+"time"); }}4. Структура петли (делай… пока в цикле)
Основной формат:
делать {
Утверждение тела петли;
} while ((условное утверждение суда); [/code]
Расширенный формат:
Заявление инициализации;
делать {
Утверждение тела петли;
Заявление условия управления;
} while ((условное утверждение суда); [/code]
блок -схема:
5. Различия и меры предосторожности для циклической структуры:
Три оператора цикла могут фактически выполнить ту же функцию, что означает, что они могут преобразовать эквивалентно, но все еще есть небольшие различия:
Do ... в то время как петля выполнит корпус петли хотя бы один раз. Для петли и в то время как петля выполнит тело только в том случае, когда условие верно
1. Примечания:
При написании программ вы должны отдать приоритет для цикла FOR, затем рассмотреть цикл Whore и, наконец, рассмотреть вопрос ... пока цикл.
Следующий код является мертвой петлей:
while (true) {}
для(;;){}
2. Вложенное использование петлей: корпус петли самого цикла является оператором цикла
(1) Вопрос 1: Пожалуйста, выведите шаблон звезды (*) с 4 рядами и 5 столбцами:
Совет: количество строк, управляемых внешним петлей, и количество столбцов, управляемых внутренним циклом
/*Требования: пожалуйста, выведите следующую форму*** *** **** **** ** ***** Совет: Внешний цикл управляет количеством строк, внутренний цикл контролирует количество столбцов*/класс ForFortest01 {Public Static Void Main столбцы для (int x = 0; x <5; x ++) {for (int y = 0; y <5; y ++) {System.out.print ("*"); } System.out.println (); } System.out.println ("-----------------------------------------------------------------------); // Мы реализовали форму 5 строк и 5 столбцов //, но это не то, что мы хотим // Что мы хотим, это изменение количества столбцов // Как изменяется число столбцов? y = 0, y <= 1, y ++ // Третья строка: 3 столбца y = 0, y <= 2, y ++ // Четвертая строка: 4 столбец y = 0, y <= 3, y ++ // Пятая строка: 5 столбец y = 0, y <= 4, y ++ // При просмотре смены x в внешней петле, это происходит, чтобы быть x = 0,1,2, for (int x = 0; x <5; x ++) {for (int y = 0; y <= x; y ++) {System.out.print ("*");(2) Вопрос 2: вывод таблицы размножения девяти-девяти на консоли:
/* Требования: вывод таблицы размножения девяти-девяти в консоли. Сначала мы пишем таблицу размножения девяти-девять: 1*1 = 1 1*2 = 2 2*2 = 4 1*3 = 3 2*3 = 6 3*3 = 9 1*4 = 4 2*4 = 8 3*4 = 12 4*4 = 1*9 = 9 2*9 = 18 3*9 = 27 ... давайте сначала увидим эту таблицу размножения девяти девяти как такая: ***************************************************************************************************************************************************************************************** ********* ********* Примечание: '/x' x означает любой любой, этот метод называется передаточными символами. '/t' Положение символа вкладка (ключ Tabtab) '/r' enter '/n' line break */class forfortest02 {public static void main (string [] args) {for (int x = 0; x <9; x ++) {for (int y = 0; y <= x; y ++) {System.out.print (" *"); } System.out.println (); } System.out.println ("---------------------"); // Чтобы использовать данные, мы начинаем с 1 для (int x = 1; x <= 9; x ++) {for (int y = 1; y <= x; y ++) {System.out.print (y+"*"+x+"="+y*x+"/t"); } System.out.println (); }}}Эффект бега:
6. Заглавный оператор управления прыжком:
Как мы уже говорили ранее, Goto в Java является зарезервированным словом и не может использоваться в настоящее время. Хотя нет никаких заявлений о Goto для повышения безопасности программы, это также доставляет много неудобств. Например, я хочу закончить, когда определенный цикл знает определенного шага, и я не могу этого сделать сейчас. Чтобы восполнить этот дефект, Java обеспечивает перерыв, продолжить и вернуться к управлению прыжков и прерывания заявлений.
нарушить прерывание
продолжать
возвращаться
1. Оператор управления прыжком (перерыв):
Используйте сценарии для перерыва:
~ В операторе переключения для выбора структуры
~ В оперативном цикле (если решение добавлено в оператор цикла)
Примечание: не имеет смысла оставить сценарий использования
Функция перерыва:
A: вырваться из однослойной петли
B: вырваться из многослойной петли
Чтобы достичь этого эффекта, вы должны что -то знать. Заявление с лейблом. Имена тегов должны соответствовать правилам именования Java
Формат:
Имя тега: оператор
Пример кода:
/* Оператор управления прыжком: перерыв: прерывание Продолжение: Продолжение: возврат: возврат перерыв: прерывание. (Если суждение добавлено к оператору цикла) Примечание: не имеет смысла оставлять два вышеупомянутые две сцены. Как его использовать? A: Выйти из однослойной петли B: вырваться из многослойного петли, чтобы достичь этого эффекта, вы должны что-то знать. Заявление с лейблом. Формат: Имя тега: оператор */class breakdemo {public static void main (string [] args) {// смещение внешнего переключателя или цикла // break; // Сметно однослойное цикл для (int x = 0; x <10; x ++) {if (x == 3) {break; } System.out.println ("helloworld"); } System.out.println ("Over"); System.out.println ("---------------"); // смещение многослойного цикла wc: for (int x = 0; x <3; x ++) {nc: for (int y = 0; y <4; y ++) {if (y == 2) {// сломать nc; сломать wc; } System.out.print ("*"); } System.out.println (); }}}В строке 38 мы добавляем тег в внешнюю петлю, называемую WC, а затем выходим из этого тега в строке 42.
Эффект бега:
ПРИМЕЧАНИЕ. В реальной разработке функция прыжков многослойного петли практически невозможно использовать.
2. Заявление о управлении прыжком (продолжение):
Используйте сценарии для продолжения:
Нет смысла оставлять сценарий использования в цикле
Разница между продолжением и перерывом:
Перерыв из однослойного цикла продолжайте вырваться из петли и входит в следующее выполнение.
Эффекты следующие:
Вопросы интервью:
for (int x = 1; x <= 10; x ++) {if (x%3 == 0) {// Заполнить код здесь} System.out.println ("Java Learning"); }Заполните в строке 4 вышеуказанного кода, чтобы удовлетворить следующие условия:
Я хочу вывести 2 раза в консоли: «Java Learn». Break;
Я хочу вывести 7 раз в консоли: «Java Learning» продолжается;
Я хочу вывести 13 раз в консоли: "Java Learning" System.out.println ("Java Learning");
3. Оператор управления прыжком (возврат)
Ключевое слово возврата не в том, чтобы выпрыгнуть из тела петли. Более часто используемая функция заключается в том, чтобы завершить метод, то есть выходить из метода и прыгать к методу, вызванному в верхнем слое.
По словам прямо: функция возврата заключается не в том, чтобы закончить цикл, а для завершения метода.
Эффекты следующие:
Упражнения операторов цикла в сочетании с перерывом:
Вопрос интервью: мать Сяофанга дает ей 2,5 юаня в день, и она спасет его. Однако всякий раз, когда этот день - 5 -й день сбережений или кратный из 5, она проведет 6 юаней. Сколько дней может сэкономить его до 100 юаней.
Реализация кода:
/* Требования: мать Сяофанга дает ей 2,5 юаня в день, и она спасет его. Однако всякий раз, когда этот день - 5 -й день сбережений или кратный из 5, она проведет 6 юаней. Сколько дней может сэкономить его до 100 юаней. Анализ: A: мать Сяофанга дает ей 2,5 юаня в день, двойной Daymoney = 2,5; Б: Она сэкономит двойной день / 0; C: магазин int daycount = 1 с первого дня; D: Сколько дней будет Сяофанг сэкономить 100 юаней. двойной результат = 100; E: Если этот день - 5 -й день сбережений или множество 5, она проведет 6 юаней, указывая на то, что ей нужно судить о стоимости Daycount. Если 5 разделен, 6 Юань будет вычтен. Daysum -= 6; Это также подразумевает проблему, то есть, если она не кратна 5 дней, деньги должны быть накоплены DaysUm += Daymoney; F: Потому что я не знаю, сколько это дня, я использую мертвую петлю. Как только он превысит 100 юаней, я выйду из петли. */class whileedemo {public static void main (string [] args) {// деньги, которые для хранения каждый день составляют 2,5 юань двойной daymoney = 2,5; // Значение инициализации сохранения составляет 0 двойной дни = 0; // хранилище int daycount = 1 с первого дня; // окончательное хранилище не менее 100, а результат int = 100; // Поскольку я не знаю, сколько это дня, я использую мертвую петлю, а (true) {// Накапливаю деньги DaysUm += Daymoney; // Как только он превышает 100 юаней, я выхожу из петли. if (daysum> = result) {System.out.println («Потратить в общей сложности 100 юаней на хранение в общей сложности»); перерыв; } if (daycount%5 == 0) {// Потратить 6 Yuan DaysUm -= 6; System.out.println («Вещи»+DayCount+«Потратить 6 юаней в общей сложности»); } // Количество дней изменяется DayCount ++; }}}Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.