02_2_Лекция_JAVA2_Управ._конструкц_Циклы_2015.ppt
- Количество слайдов: 13
Мультимедийный курс Программирование на Java Часть1 Лекция 3. 1 Управляющие конструкции, циклы 1. Оператор if / else 2. Оператор switch 3. Операторы цикла whilе и do / while 4. Операторы for 5. Операторы break и continue 6. Оператор return
Управляющие конструкции Оператор if / else if (условие) оператор 1 ; [else оператор 2 ; ] Пример: int i; if (i == 0) matr[i]=1; else matr[i]=-1; Условие всегда должно иметь логическое значение, поэтому if (!i) matr[i]=1; // ошибка! 2
Управляющие конструкции Оператор switch (<выражение>) { case <константа 1> : // последовательность операторов 1 [ break; ] case <константа 2> : // последовательность операторов 2. . . [ default: // последовательность операторов ] } Допустимые типы результата выражения: byte, short, int, char 3
Управляющие конструкции Оператор switch (продолжение) При отсутствии оператора break выполнение проходит через каждый последующий case пока не встретится break или конец оператора 4
Управляющие конструкции Операторы цикла whilе и do / while vс предусловием (условие проверяется до выполнения вложенного оператора ) while (условие) оператор; vс постусловием (условие проверяется после выполнения вложенного оператора ) do оператор while (условие); 5
Управляющие конструкции Примеры циклов: float sum = 0, x = 1; // Цикл с предусловием while(x < 100) { sum += 1 / x; x++; } // То же, но с постусловием sum = 0; x = 1; do { sum += 1 / x; x++; while(x < 100) // Идиома бесконечного цикла while (true) { // оператор } 6
Управляющие конструкции Оператор for обычный for ([<иниц. _часть>]; [<условие>] ; [<итерац. _часть >]) оператор ; Управляющая переменная м. б. объявлена внутри заголовка for (с областью действия - for-оператор) for (int i=10; i>0; i--) System. out. println(i); Может быть несколько управляющих переменных цикла: for (int i=1, j=5; i>j; i++, j--) System. out. println("i="+i); System. out. println(“j="+j); 7
Управляющие конструкции Оператор for обычный (продолжение) for (; !done; ) { // отсутствуют части заголовка if (j==5) done=true; j++; } Бесконечный цикл: for ( ; ; ) { … } 8
Управляющие конструкции Оператор for итерационный (типа each) for (<тип> <перем. > : <имя_мас. / имя_кол. >) оператор ; Пример: float m 1[]={23. 2 f, 3, 45}; for (float m : m 1) { System. out. print(m); System. out. print(" "); } 9
Управляющие конструкции Операторы break и continue break – прерывание цикла с переходом на оператор сразу за циклом continue - переход к следующей итерации цикла без завершения текущей Пример: второй десяток слагаемых в сумму не войдет. for (float x = 1; x < 100; x++ ) { if ( 10 < x && x < 21) continue; sum += 1 / x; } 10
Управляющие конструкции Операторы break и continue (продолжение) break <метка> – переход на оператор, следующий сразу за помеченным блоком Пример: досрочный выход из вложенных циклов. for (int i 1 = 0; i 1 < 10; i 1++) { L: for (int i 2 = 0; i 2 < 10; i 2++) { for (int i 3 = 0; i 3 < 10; i 3++) { if (i 3 == 6) break L; } } /* Сюда передается управление после выполнения оператора "break L; " */ } 11
Управляющие конструкции Операторы break и continue (продолжение) continue <метка> – прерывает текущую итерацию цикла и продолжает помеченный цикл (только в циклах); 12
Управляющие конструкции Оператор return Обеспечивает возврат из вызываемого метода в вызывающую программу (java-систему в том числе) Использование допустимо только вместе с оператором if: if (i==2) return; 13


