Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Арифметические операции




В языке 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 Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...