Successfully reported this slideshow.
Your SlideShare is downloading. ×

Урок 5. Операторы языка Java

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Loading in …3
×

Check these out next

1 of 55 Ad

Урок 5. Операторы языка Java

Download to read offline

Условный оператор if, оператор switch, операторы цикла – while, do/while, for, for-each. Операторы перехода – break, continue, return.
Лекции, задания, видео, тесты и вопросы на:
https://www.examclouds.com/ru/java/java-core-russian/lesson4
Подписывайтесь на страницу:
https://www.facebook.com/Examclouds
Подписывайтесь на канал
https://www.youtube.com/c/tatyanamilkina

Условный оператор if, оператор switch, операторы цикла – while, do/while, for, for-each. Операторы перехода – break, continue, return.
Лекции, задания, видео, тесты и вопросы на:
https://www.examclouds.com/ru/java/java-core-russian/lesson4
Подписывайтесь на страницу:
https://www.facebook.com/Examclouds
Подписывайтесь на канал
https://www.youtube.com/c/tatyanamilkina

Advertisement
Advertisement

More Related Content

Slideshows for you (20)

Advertisement

Урок 5. Операторы языка Java

  1. 1. Урок 5 Операторы языка Java 1. Условный оператор if. 2. Оператор switch. 3. Операторы цикла – while, do/while, for, for-each. 4. Операторы перехода – break, continue, return. www.examclouds.com
  2. 2. www.examclouds.com
  3. 3. Условный оператор if ● Используется с целью направления выполнения программы по двум разным ветвям. if (boolexp) { /*операторы*/} else { /*операторы*/ }//может отсутствовать www.examclouds.com
  4. 4. Формы оператора if ● Общая форма оператора if: if (booleanExpression) { System.out.println("In the if block"); } ● Общая форма оператора if-else: if (booleanExpression) { System.out.println("Inside if block"); } else { System.out.println("Inside else block"); } www.examclouds.com
  5. 5. Использование оператора if public class IfDemo { public static void main(String[] args) { int a = 1; if (a < 10) { System.out.println("In the if block"); } } } www.examclouds.com
  6. 6. Использование оператора if-else public class IfElseDemo { public static void main(String[] args) { int a = 1; if (a == 10) { System.out.println("In the if block"); } else { System.out.println("In the else block"); } } } www.examclouds.com
  7. 7. Задание 1 ● Передать на вход программы число в качестве аргумента. Если оно нечетное, распечатать его. Используем оператор if. ● Используйте метод Integer.parseInt() для преобразования из String в int. www.examclouds.com
  8. 8. Задание 2 ● С помощью класса Scanner ввести целое число. Если это число от 0 до 10, вывести на консоль сообщение “Положительное число меньше 10”, иначе вывести сообщение “Положительное число больше 10 или отрицательное”. Используем оператор if-else. www.examclouds.com
  9. 9. Применение конструкции if-else-if public class IfElse1{ public static void main(String[] args) { int month = 4; // April String season; if (month == 12 || month == 1 || month == 2) { season = "Winter"; } else if (month == 3 || month == 4 || month == 5) { season = "Spring"; } else if (month == 6 || month == 7 || month == 8) { season = "Summer"; } else if (month == 9 || month == 10 || month == 11) { season = "Autumn"; } else { season = "Not a Month"; } System.out.println("April is in the " + season + "."); } } www.examclouds.com
  10. 10. Правила использования оператора if-else 1. Выражение в if операторе должно возвращать логическое значение типа boolean. 2. Фигурные скобки необязательны если блок if содержит только один оператор. 3. Оператор if может иметь 0 или один else, который должен следовать за всеми else ifs. 4. Оператор if может иметь 0 или много else ifs, которые должны идти перед необязательным else. 5. Как только какой-то else if или if выполняется, ни один из оставшихся else ifs или elses не будет протестирован. www.examclouds.com
  11. 11. Задание 3 ● Передать на вход программы число от 1 до 7 в качестве аргумента. ● Если число равно 1, выводим на консоль “Понедельник”, 2 –”Вторник” и т.д. Если 6 или 7 – “Выходной”. ● Используем конструкцию if-else-if. www.examclouds.com
  12. 12. Оператор switch ● Оператор switch дает возможность сравнивать переменную со списком значений. ● Общая форма: switch(выражение) { case значение1: // Блок кода 1 break; case значение2: // Блок кода 2 break; ... case значениеN: // Блок кода N break; default : // Блок кода для default } www.examclouds.com
  13. 13. Пример использования оператора switch public class TrafficLight { public static void main(String[] args) { int x = 3; switch (x) { case 1: System.out.println("Зеленый"); break; case 2: System.out.println("Желтый"); break; case 3: System.out.println("Красный"); break; default: System.out.println("Неправильно введено число"); break; } } } www.examclouds.com
  14. 14. Пример public class SwithcDemo1{ public static void main(String args[]) { int month = 4; String season; switch (month) { case 12: case 1: case 2: season = "Winter"; break; case 3: case 4: case 5: season = "Spring"; break; case 6: case 7: case 8: season = "Summer"; break; case 9: case 10: case 11: season = "Autumn"; break; default: season = "Not a Month"; } System.out.println("April is in the " + season + "."); } } www.examclouds.com
  15. 15. Правила использования switch ● Выражение в switch должно иметь тип char, byte, short, int, enum (начиная с Java 6) или String (начиная с Java 7). ● Использование любого другого типа, например float, приведет к ошибке компиляции. ● Оператор switch может только проверять на равенство. Такие операторы как >=, <= недопустимы. www.examclouds.com
  16. 16. Задание 4 ● Переписать задание 3 используя switch. www.examclouds.com
  17. 17. Пример оператора switch ● Если выражение в switch имеет тип меньший чем int (byte, short или char), case константа должна соответствовать этому типу. byte number = 2; switch (number) { case 13: case 129://compiler error } www.examclouds.com
  18. 18. Пример оператора switch ● Нельзя использовать несколько case констант с одним и тем же значением. int number = 90; switch (number) { case 50: System.out.println("50"); case 50: System.out.println("50"); //compile error case 140: System.out.println("140"); default: System.out.println("default"); } www.examclouds.com
  19. 19. Пример оператора switch ● Case константы просматриваются сверху вниз, и первая совпавшая case константа является точкой входа. Соответствующий ей блок и все последующие блоки будут выполняться. public class SwitchDemo2{ public static void main(String[] args) { String str = "potato"; switch (str) { case "tomato": System.out.print("tomato "); case "potato": System.out.print("potato "); case "cucumber": System.out.print("cucumber "); default: System.out.println("any"); } } } www.examclouds.com
  20. 20. Пример оператора switch ● Секция default обрабатывает все значения, которые не указаны явно в одной из case секций. Секция default может размещаться в любом месте, необязательно в конце: ● public class SwitchDemo3 { public static void main(String[] args) { int z = 8; switch (z) { case 1: System.out.println("Fall to one"); default: System.out.println("default"); case 3: System.out.println("Fall to three"); case 4: System.out.println("Fall to four"); } } } www.examclouds.com
  21. 21. Операторы цикла ● Цикл — это многократно повторяющийся фрагмент программы. www.examclouds.com
  22. 22. Операторы цикла В Java существует два типа циклов: ● типа «пока» ● типа «n-раз» www.examclouds.com
  23. 23. Операторы цикла ● Первый тип «пока» предназначен для повторения какого-то действия до тех пор, пока выполняется некоторое условие. ● Пример: увеличивать число на 5 до тех пор, пока оно не станет трёхзначным. www.examclouds.com
  24. 24. Операторы цикла ● Второй тип «n-раз» предназначен для повторения каких-то действий заранее известное количество раз. ● Пример: умножить число само на себя 4 раза. www.examclouds.com
  25. 25. Операторы цикла ● Условие завершения цикла должно быть очевидным, чтобы цикл не «сорвался» в бесконечный цикл. www.examclouds.com
  26. 26. Циклы типа «пока» 1. while (boolexpr) { /*операторы*/ } 2. do { /*операторы*/ } while (boolexp); www.examclouds.com
  27. 27. Циклы типа «n-раз» for(инициализация; условие; итерация){ /*операторы*/ } for(тип итерационная_переменная: массив){ /*операторы*/ } www.examclouds.com
  28. 28. Пример цикла while public class While1 { public static void main(String[] args) { int n = 10; while (n > 0) { System.out.println("Тик " + n--); } } } www.examclouds.com
  29. 29. Задание ● Распечатать 10 строк: “Task1”. “Task2”. … “Task10”. ● Используем цикл while. www.examclouds.com
  30. 30. Пример цикла while public class NoBody { public static void main(String[] args) { int i = 100; int j = 200; // найти середину между i и j while (++i < --j) ; // цикл без тела System.out.println("Середина: " + i); } } www.examclouds.com
  31. 31. Пример бесконечного цикла while ● Этот цикл может применяться для организации бесконечных циклов в виде while(true). ● public class EndlessLoop { public static void main(String[] args) { int i = 0; while (true) { System.out.println(i++); } } } www.examclouds.com
  32. 32. Пример цикла do-while public class DoWhile { public static void main(String[] args) { int n = 10; do { System.out.println("Тик " + n--); } while (n > 0); } } www.examclouds.com
  33. 33. Задание ● Распечатать все числа от 1 до 100. Используем цикл do-while. www.examclouds.com
  34. 34. Цикл for ● Общая форма: ● for(инициализация; условие; итерация){ /*операторы*/ ● } public class ForTick { public static void main(String[] args) { for (int i = 0; i < 10; i++) { System.out.println("Тик " + i); } } } www.examclouds.com
  35. 35. Цикл for ● В первом параметре обычно выбирают какую-то переменную, с помощью которой будет подсчитываться количество повторений цикла. Её называют счетчиком. Счётчику задают некоторое начальное значение. ● Во втором параметре указывают некоторое ограничение на счётчик (указывают, до какого значения он будет изменяться). ● В третьем параметре указывают выражение, изменяющее счётчик после каждого шага цикла. Обычно это инкремент или декремент, но можно использовать любое выражение, где счётчику будет присваиваться некоторое новое значение. ● Перед каждым шагом цикла (но после инициализации) проверяется условие повторения, если оно истинно, то в очередной раз выполняется тело цикла. При этом, тело цикла может не выполниться ни разу, если условие будет ложным в момент первой же проверки. ● Для цикла for не рекомендуется в цикле изменять индекс цикла. www.examclouds.com
  36. 36. Пример цикла for public class Comma { public static void main(String[] args) { for (int i = 1, j = 4; i < j; i++, j--) { System.out.println("i = " + i); System.out.println("j = " + j); } } } www.examclouds.com
  37. 37. Задание ● Распечатать 5 символов в одну строку начиная с ‘h’. Используем цикл for. www.examclouds.com
  38. 38. Цикл for-each ● for(тип итерационная_переменная: массив){ /*операторы*/ } ● Используется для перебора элементов массивов. ● public class ForEach { public static void main(String[] args) { for (String str : args) { System.out.println("Значение: " + str); } } } ● При прохождении цикла переменной str автоматически присваивается значение, равное значению следующего элемента массива args. www.examclouds.com
  39. 39. Операторы перехода www.examclouds.com
  40. 40. Применение оператора break 1. Завершает последовательность операторов в операторе switch. 2. Его можно использовать для выхода из цикла. 3. Можно применять в качестве "цивилизованной" формы оператора безусловного перехода goto. www.examclouds.com
  41. 41. Применение оператора break для выхода из цикла public class BreakLoop1 { public static void main(String[] args) { int i = 0, n = 100; while (i < n) { if (i == 10) { break; } System.out.println("i: " + i++); } System.out.println("Цикл завершен."); } } www.examclouds.com
  42. 42. Применение оператора break для выхода из цикла ● Если в программе применяется ряд вложенных циклов, то оператор break осуществляет выход только из самого внутреннего цикла. public class BreakLoop2 { public static void main(String[] args) { for (int i = 0; i < 3; i++) { System.out.print("Пpoxoд " + i + " : "); for (int j = 0; j < 100; j++) { if (j == 10) { break; } System.out.print(j + " "); } System.out.println(); } System.out.println("Циклы завершены"); } } www.examclouds.com
  43. 43. Ключевые моменты 1. В цикле можно использовать больше одного оператора break. (Но лучше этого не делать.) 2. Оператор break, завершающий последовательность операторов, выполняемых в цикле, оказывает влияние только на данный цикл. 3. Оператор break не предназначен в качестве обычного средства выхода из цикла. Для этого служит условное выражение в цикле. Этот оператор следует использовать для выхода из цикла только в особых случаях. www.examclouds.com
  44. 44. Применение оператора break с меткой ● Общая форма оператора break с меткой: break метка; ● Где метка - это имя метки, обозначающее блок кода. ● Им может быть как самостоятельный блок кода, так и целевой блок другого оператора. ● Чтобы пометить блок, достаточно поместить в его начале метку. ● Метка – это любой допустимый в Java идентификатор с двоеточием. ● Может использоваться в качестве цивилизованной формы оператора goto. www.examclouds.com
  45. 45. Применение break с меткой для выхода из вложенных циклов public class BreakLoop3 { public static void main(String[] args) { boolean t = true; first: { second: { third: { System.out.println("Перед break."); if (t) { break second; } System.out.println("Этот код не будет выполнен."); } System.out.println("Этот код не будет выполнен."); } System.out.println("После второго блока."); } } } www.examclouds.com
  46. 46. Применение break с меткой для выхода из вложенных циклов ● Одним из наиболее распространенных применений оператора break с меткой служит выход из вложенных циклов. public class BreakLoop4 { public static void main(String[] args) { outer: for (int i = 0; i < 3; i++) { System.out.print("Пpoxoд " + i + " : "); for (int j = 0; j < 100; j++) { if (j == 10) { break outer; // выход из обоих циклов } System.out.print(j + " "); } System.out.println("Этa строка не будет выводиться"); } } } www.examclouds.com
  47. 47. Оператор continue ● Используется в тех случаях когда требуется, чтобы повторение цикла осуществлялось с более раннего оператора в его теле. ● В циклах while и do-while оператор continue вызывает передачу управления непосредственно условному выражению, управляющему циклом. ● В цикле for управление передается вначале итерационной части цикла for, а затем условному выражению. www.examclouds.com
  48. 48. Пример оператора continue public class Continue { public static void main(String[] args) { for (int i = 0; i < 10; i++) { if (i % 2 == 0) { continue; } System.out.print(i + " "); } } } www.examclouds.com
  49. 49. Применение оператора continue с меткой public class ContinueLabel { public static void main(String[] args) { outer: for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { if (j > i) { System.out.println(); continue outer; } System.out.print(" " + (i * j)); } } System.out.println(); } } www.examclouds.com
  50. 50. Оператор return ● Оператор return используется для выполнения явного возврата из метода. www.examclouds.com
  51. 51. Применение оператора return public class Return1 { public static void main(String[] args) { boolean t = true; System.out.println("Дo возврата."); if (t) { return; } System.out.println("Этoт оператор выполняться не будет."); } } www.examclouds.com
  52. 52. Применение оператора return public class Return2 { public static void main(String[] args) { double d = getRandomValue(3); System.out.println(d); } public static double getRandomValue(int i) { return Math.random() * i; } } www.examclouds.com
  53. 53. Метод System.exit() ● Метод System.exit() используется в языке Java для завершения программы. ● Этот метод на вход принимает значение типа int. ● Обычно это 0, что говорит о том, что программа завершается без ошибок. Любое другое значение говорит о том, что программа завершилась с ошибкой. www.examclouds.com
  54. 54. Пример System.exit() public class SysExit { public static void main(String[] args) { System.out.println("Дo возврата."); method(true); System.out.println("Этот оператор выполняться не будет."); } public static void method(boolean flag) { if (flag) { System.exit(0); } System.out.println("Этот оператор метода выполняться не будет.") } } www.examclouds.com
  55. 55. Лекции, задания, видео, тесты и вопросы на: ● https://www.examclouds.com/ru/java/java-core- russian/lesson4 Подписывайтесь на страницу: ● https://www.facebook.com/Examclouds ● Подписывайтесь на канал https://www.youtube.com/c/tatyanamilkina www.examclouds.com

×