b5_java_s4

Презентация:



Advertisements
Похожие презентации
Синтаксис языка Java. Символы и синтаксис Перевод строчки эквивалентен пробелу Регистр в именах различается.
Advertisements

1 Контрольное зачетное задание (0, 0)(0, m-1) (n-1, 0)(n-1, m-1) Дано прямоугольное поле, расчерченное на клетки: n клеток в высоту и m клеток в ширину.
Министерство образования Республики Беларусь Белорусский государственный университет Управляющие структуры языков программирования.
Лекция 4 Инструкции. Инструкции С++ инструкция: объявление ; выражение opt ; { последовательность_инструкций opt } if ( условие ) инструкция if ( условие.
Глава 6. УПРАВЛЯЮЩИЕ СТРУКТУРЫ Оператор присваивания Простой и составной операторы Условный оператор Оператор множественного выбора Оператор цикла с предусловием.
Операции Условная операция ? : Если истинно, то результатом будет, иначе. Например, int x = a < b ? a : b вычисляет минимум из a и b.
РНР Изучение языка. Программирование интерактивных WEB-сайтов на языке PHP.
Переменные и операторы УРОК 2. Переменные ПЕРЕМЕННАЯ – ?... контейнер для хранения данных. Переменная имеет имя – это….? последовательность букв, цифр.
Операторы языка Си Лекция 5.
Операторы языка с++. Операторы в языке C++ предназначены для описания действий. Любой оператор может быть помечен меткой. Операторы отделяются друг от.
Практическое занятие 6. Функции. Большинство языков программирования используют понятия функции и процедуры. C++ формально не поддерживает понятие процедуры,
АЛГОРИТМЫ ТОИ-ИМ 3 базовые управляющие алгоритмические структуры Решение Цикл Последовательность Непосредственное выполнение одно- го действия за другим.
Тема: Управление потоком в PHP Изучить возможности языка PHP при решении задач, требующих использования условного оператора. Рассмотреть примеры управления.
Лекция 7. Структура языка С/С++. Операторы ветвления: условный оператор if. Полное ветвление. Неполное ветвление. Оператор множественного выбора switch.
Практическое программирование на Java к.ф.-м.н. Козлов Дмитрий Дмитриевич Кафедра АСВК, Лаборатория Вычислительных комплексов.
Операторы языка C#. Блок или составной оператор. Пустой оператор С помощью фигурных скобок несколько операторов языка, возможно перемежаемых объявлениями,
Идентификаторами в языке Си являются последовательности букв и цифр, начинающиеся с буквы, причем символ подчеркивания рассматривается компилятором как.
В алгоритмической структуре «цикл» серия команд (тело цикла) выполняется многократно. Циклы бывают 2 типов: 1.Цикл со счетчиком. Используется когда заранее.
Инструкции C++ Условная инструкция Формат: if (условие) оператор; else оператор; Пример: if (i!=0) { if (j) j++; if(k) k++; else if(p) k--; } else i--;
ЦИКЛИЧЕСКИЙ АЛГОРИТМ Цели: -Познакомиться с понятием циклического алгоритма. -Освоить языковые средства для реализации циклических алгоритмов.
Транксрипт:

1 Операторы управления выполнением программы Условный оператор if-else if(логическое выражение) оператор1; [ else оператор2;] class IfElse { public static void main(String args[]) { String m = args[0]; String season; if ((m == 12) || (m == 1) || (m ==2) ) { season = "Winter"; } else if ((m ==3) || (m == 4) || (m ==5) ) { season = "Spring"; } else if ((m == 6) || (m == 7) || (m == 8) ) { season = "Summer"; } else if ((m == 9) || (m == 10) || (m == 11) ) { season = "Autumn"; } else { season = "Bogus Month"; } System.out.println( "This month is in the " + season); } После выполнения программы вы должны получить следующий результат: С: \> java IfElse 4 This month is in the Spring.

2 Операторы управления выполнением программы Оператор return Ключевое слово return используется в методах для указания того, какое значение возвращает метод (если он имеет возвращаемое значение не void) и показывает место завершения метода. Для методов, не возвращающих значений значащих типов (спецификатор void), оператор return без значения в общем случае необязателен, но может использоваться для указания места принудительного завершения метода. public class IfElse2 { static int test(int testval, int target) { int result = 0; if(testval > target) return +1; else if(testval < target) return -1; else return 0; // Совпадает } public static void main(String args[ ]) { System.out.println(test(10, 5)); System.out.println(test(5, 10)); System.out.println(test(5, 5)); /* здесь можно было поставить return; однако метод main завершится по выходу на границу */ }}

3 Операторы управления выполнением программы Операторы цикла Оператор while – (с предусловием) while(Логическое выражение) { операторы } Логическое выражение вычисляется каждый раз перед каждой будущей итерацией. Операторы выполняются, если логическое выражение равно true. //: c03:WhileTest.java public class WhileTest { public static void main(String args[ ]) { double r = Math.random(); while(r

4 Операторы управления выполнением программы Операторы цикла Оператор do-while – (с постусловием) do { операторы } while(Логическое выражение); Логическое выражение проверяется только после первой итерации и далее после каждой следующей. Операторы выполняются хотя бы один раз, а далее – если логическое выражение равно true. //: c04:DoWhileTest.java public class DoWhileTest { public static void main(String args[ ]) { double r = Math.random(); do { r = Math.random(); System.out.println(r); } while(r

5 Операторы управления выполнением программы Операторы цикла Оператор for – (со счетчиком) for(инициализация счетчика; условие завершения; шаг счетчика){ операторы } Цикл for выполняет инициализацию переменной любого целого типа (и типа char) перед первой итерацией. Затем он проверяет условие завершения, а в конце каждой итерации выполняется шаг переменной цикла. Выражение проверяется перед каждой итерацией, и как только при вычислении получится false, выполнение продолжится со строки, следующей за инструкцией for. В конце каждого цикла выполняется шаг. //: c03:ListCharacters.java // Демонстрация цикла "for" для составления списка всех ASCII символов. public class ListCharacters { public static void main(String args[ ]) { for(char c = 0; c < 128; c++) { if (c != 26 ) // ANSI Очистка экрана System.out.println("value: " + (int)c + ====> character: " + c); }

6 Операторы управления выполнением программы Операторы break и continue - Управление выполнением циклов: break прерывает текущий цикл и передает управление на следующий за циклом оператор; continue останавливает выполнение текущей итерации и возвращается к началу цикла, начиная следующую итерацию. - Передача управления по метке (метка – это идентификатор, после которого стоит символ «:», метками можно снабжать циклы и программные блоки {…..}) : break с меткой прерывает внутренний цикл или блок и передает управление на оператор, следующий за помеченным циклом (блоком); continue c меткой прерывает текущую итерацию внутреннего цикла (выполнение внутреннего блока) и передает управление на следующую итерацию внешнего помеченного цикла (начинает выполнение внешнего помеченного блока). label1: outer-iteration { inner-iteration { //... break; // 1 //... continue; // 2 //... continue label1; // 3 //... break label1; // 4 } //… } - break без метки используется также в операторе switch-case

7 Операторы управления выполнением программы Оператор switch-case switch(выражение) { case значение1: {группа операторов; break; } case значение2: {группа операторов; break; } case значение3: {группа операторов; break; } … default: {группа операторов;} } Выражение – типы int или char, при этом значения в case – того же типа и не должны совпадать. Если значению выражения не соответствует ни один из конструкций case, выполняется код после ключевого слова default. Конструкция default необязательна. Когда ни один из case не соответствует значению выражения и в switch отсутствует конструкция default, выполнение программы продолжается со следующего за switch оператором. break без метки приводит к передаче управления на код, стоящий после оператора switch. Если break отсутствует, после текущего раздела case будет выполняться следующий. Иногда бывает удобно иметь в операторе switch несколько смежных разделов case, не разделенных оператором break.

8 Операторы управления выполнением программы Пример: В случайном порядке создаются буквы и проверяются, являются ли они гласными или согласными. public class VowelsAndConsonants { public static void main(String[] args) { for(int i = 0; i < 100; i++) { char c = (char)(Math.random() * 26 + 'a'); System.out.print(c + ": "); switch(c) { case 'a': case 'e': case 'i': case 'o': case 'u': { System.out.println( " гласная"); break;} case 'y': case 'w': { System.out.println( " иногда гласная "); break;} default: { System.out.println( " согласная"); } } }} Хотя здесь используется переключение для символов (char), инструкция switch на самом деле использует целые значения номеров символов в таблице ASCII. Символы в одинарных кавычках в инструкциях case также производят целочисленные значения, которые и используются для сравнения. Несколько caseов друг над другом без break обеспечивают выполнение одного и того же действия при разных значениях переключателя. Math.random( ) генерирует значения в пределах от 0 до 1. Номера букв в таблице символов ASCII начинаются с 27. Чтобы получать случайным образом номера букв необходимо умножить результат Math.random( ) на верхний предел границы чисел - 26 и прибавлять смещение для установки нижней границы номеров букв. Поскольку Math.random( ) генерирует числа типа double необходимо провести явное приведение типа (char).

9 Операторы управления выполнением программы Оператор «запятая» Иногда возникают ситуации, когда разделы инициализации или итерации цикла for требуют нескольких операторов. Поскольку составной оператор в фигурных скобках в заголовок цикла for вставлять нельзя, в Java применяется оператор «запятая» («,»), который не следует путать с разделителем «запятая». Использование оператора «запятая» допускается только внутри круглых скобок оператора for. class Comma { public static void main(String args[]) { int a, b; for (a = 1, b = 4; a < b; a++, b--) { System.out.println("a = " + a); System.out.println("b = " + b); } Вывод этой программы показывает, что цикл выполняется всего два раза. С: \> java Comma а = 1 b = 4 а = 2 b = 3

10 Общая структура программы на языке Java Блок идентификации пакетов и подключения внешних библиотек классов (операторы package и import) Блок описания уникальных интерфейсов (ключевое слово interface) Описание классов (в файле может быть несколько описаний классов) Заголовок класса (ключевое слово class) Объявление и инициализация переменных класса Описание методов класса Запуск класса на выполнение (необязателен): метод public static void main(String args[ ]) {…} ДлякаждогоклассаДлякаждогокласса

11 Пример: Написать на Java программу, которая проверяет есть ли в массиве заданное число. // Primer011.java import java.util.*; class Primer011 { public static boolean proverka(int a[], int b) { boolean f = false; for (int i=0; i

12 Задание на самостоятельную практику: Написать на Java программу, для поиска максимального элемента массива. /* Primer021.java * Поиск максимума в массиве */ class Primer021 { public static double myMaxArray(double a[]) { double b = a[0]; for (int i=1; i= b) { b = a[i]; } return b; } public static void main(String[] args) { double aa[] = {-33, -10, -1, -7, -9, 20, 0, 12, -20}; double bb; bb = myMaxArray(aa); System.out.println("max = " + bb); }