Арифметические операции
⇐ ПредыдущаяСтр 2 из 2 В языке Java имеются все стандартные арифметические операции, в частности операторы сложения (+), вычитания (-), деления (/), умножения (*) и деления по модулю (%). Возможно, имеет смысл остановиться на операции деления по модулю: int a = 3, b = 8, c = 0, d; d = b%a; // результат: 2 d = a%b; // результат: 3 d = b%c; // результат: сообщение об ошибке При делении по модулю возвращается остаток от операции целочисленного деления. Поскольку в последней строке делается попытка деления на 0, будет выдано сообщение об ошибке. Операции сравнения и логические операции Операторы сравнения предназначены для проверки равенства или неравенства сравниваемых операндов. Все они возвращают true в случае установления истинности выражения и false в противном случае. Логические операторы И (&&), ИЛИ (||) и НЕ (!) возвращают значения true или false в зависимости от логического отношения между их операндами. Так, оператор && возвращает true, когда истинны (не равны 0) оба его аргумента, оператор || возвращает false, если ложны (равны 0) оба его аргумента, а оператор! просто инвертирует значение своего операнда с true на false и наоборот. Ниже представлен список операторов сравнения и логических операторов, используемых в языке Java.
Составные операторы и блоки В ряде синтаксических конструкций языка можно задавать только один оператор. Логика программы, однако, может потребовать выполнения двух или более операторов. В этом случае могут использоваться составные операторы. Составной оператор — это последовательность операторов, заключенная в фигурные скобки. Составной оператор трактуется как единое целое и может появляться в тех же местах программы, что и отдельный оператор. Составной оператор не должен оканчиваться точкой с запятой.
Составной оператор, содержащий один или несколько операторов описаний, называется блоком. Условные операторы Оператор if Оператор if проверяет заданное условие. Всякий раз, когда результат этого условия истина, выполняется действие или набор действий. Иначе эти действия игнорируются. Синтаксическая форма оператора if следующая: if(условие) оператор; Выражение должно быть заключено в скобки. Если в результате его вычисления получится не нуль, то условие считается истинным, и оператор выполняется. В более сложном случае, когда оператор if охватывает несколько команд, синтаксис несколько меняется: if(условие) {оператор1; оператор2; операторn; } Оператор if/else Этот оператор позволяет выполнять выборочно одно из действий в зависимости от условия. Синтаксис этого оператора таков: if (условие) оператор1; else оператор2; Если проверка условия дает true, выполняется оператор1, в противном случае – оператор2. Если операторная часть if или else содержит несколько действий, необходимо заключать их в фигурные скобки: if (условие) {оператор1; оператор2; } else {оператор3; оператор4; } Обратите внимание, что после закрывающей фигурной скобки точка с запятой не ставится. Конструкция if/else может быть вложенной в другую такую же конструкцию. Если необходимо проверить последовательно несколько условий, можно воспользоваться конструкцией if/else/if: if (условие1) выражение1; else if (условие2) выражение2; else if (условие3) выражение3; Каждое выражение может представлять собой не одну строку, а блок команд. В этом случае требуются фигурные скобки. Оператор switch Глубоко вложенные операторы if/else часто могут быть синтаксически правильными и все же не отражать логику программы. Так, может пройти незамеченной такая связка if/else, на которую программист совсем и не рассчитывал. К тому же, такие операторы трудно исправлять. Язык C++ предоставляет другой способ выбора из множества взаимоисключающих условий - оператор switch (переключатель). Его синтаксис таков:
switch (целочисленное выражение){ case константа1: выражение1; break; case константа2: выражение2; break; case константаn: выражениеn; break; default: действие по умолчанию; } Заметьте: инструкция break появляется во всех ветвях, даже в последней. Она отвечает за то, что после выполнения одной ветви оператора switch остальные будут пропущены. Операторы цикла Оператор while Синтаксическая форма цикла while следующая: while (выражение) оператор; Пока выражение принимает значение true, оператор (в том числе и составной) будет выполняться повторно. Последовательность действий такова: 1. Вычислить выражение. 2. Выполнить оператор, если условие истинно. Если первое же вычисление выражения дало значение false, то оператор не выполнится ни разу. Оператор for Цикл for обычно используется для пошагового продвижения по структуре данных фиксированной длины, например, такой как массив. Его синтаксис таков: for (инициирующий-оператор; выражение-1; выражение-2) оператор; Инициирующий оператор может быть как описанием, так и выражением. Он обычно используется, чтобы инициализировать или присвоить значение одной или нескольким переменным. Он может быть пустым. Выражение-1 служит для управления циклом. Оператор выполнится столько раз, сколько раз вычисление выражения-1 даст значение true. Оператор может быть одиночным или составным. Если первое вычисление выражения-1 даст значение false, то оператор не выполнится ни разу. Выражение-2 вычисляется после каждой итерации цикла. Оно обычно используется для модификации переменной, фигурирующей в инициирующем операторе. Если первое вычисление выражения-1 даст false, то выражение-2 никогда не выполнится. Оператор do Истинность условия в данном случае проверяется после исполнения действий, то есть цикл гарантированно прокрутится 1 раз. Синтаксическая форма цикла do следующая: do оператор while(условие); Если условие принимает значение false, то выполнение цикла прекращается. Операторы перехода Операторы перехода безусловно передают управление в программе внутри функции. К операторам перехода относятся операторы break, continue и goto. Дальше все операторы перехода рассматриваются по очереди.
Метки Инструкции программы могут быть снабжены метками. Метка представляет собой содержательное имя, позволяющее сослаться на соответствующую инструкцию: Метка: инструкция Обращаться к меткам разрешено только посредством команд break и continue Оператор break Оператор break прерывает выполнение ближайшего объемлющего оператора while, do, for или switch. Выполнение возобновляется с оператора, непосредственно следующего за концом прерванного оператора. Оператор continue Оператор continue прерывает текущую итерацию ближайшего объемлющего оператора цикла while, do или for. Для циклов while и do выполнение возобновляется с выражения, управляющего циклом. Для цикла for выполнение возобновляется с выражения-2. В отличие от оператора break, который прерывает выполнение цикла, оператор continue прерывает только текущую итерацию.
Читайте также: Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|