русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Условная инструкция if()


Дата добавления: 2015-06-12; просмотров: 1970; Нарушение авторских прав


 

Мой соперник не будет избран, если дела не пойдут хуже. А дела не пойдут хуже, если его не выберут.

Дж. Буш-старший

 

Если не считать тернарного оператора, в Java существует две условных кон- струкции, которые позволяют выполнять разные операции в зависимости от не- которого условия. В первую очередь рассмотрим условную инструкцию if(). Синтаксис ее вызова имеет в общем случае вид:

if(условие){инструкции_1} elase{инструкции_2}

Условная инструкция if() выполняется в следующей последовательности. Сна- чала проверяется условие, указанное в круглых скобках после ключевого сло- ва if. Если условие верное (значение соответствующего выражения равно true), выполняется блок инструкций, указанный сразу после инструкции if(условие) (в данном случае это инструкции_1). В противном случае, то есть если значение выражения в круглых скобках после ключевого слова if равно false, выполня- ется блок инструкций, указанных после ключевого слова else (в данном случае это инструкции_2). После выполнения условной инструкции управление пере- дается следующей после ней инструкции. Обращаем внимание читателя на не- сколько обстоятельств.

Во-первых, если любой из двух блоков инструкций состоит всего из одной ко- манды, фигурные скобки для соответствующего блока можно не использовать.


 

Тем не менее лишними фигурные скобки никогда не бывают, поскольку на быстродействии они не сказываются, а читабельность программы значительно улучшают.

Во-вторых, ветвь else условной инструкции не является обязательной. Синтак- сис вызова такой упрощенной формы условной инструкции if() имеет следую- щий вид:

if(условие){инструкции}

В этом случае сначала проверяется на истинность условие, указанное в скобках после ключевого слова if. Если условие истинно, выполняется следующий по- сле условия if блок инструкций. Если условие ложно, указанные инструкции не выполняются.



На практике нередко используются вложенные инструкции if(). С точки зрения синтаксиса языка Java такая ситуация проста: в ветви else условной инструкции указывается другая условная инструкции и т. д. Синтаксическая конструкция имеет вид:

if(условие_1){инструкции_1}

else if(условие_2){инструкции_2} else if(условие_3){инструкции_3}

...

else if(условие_N){инструкции_N} elase{инструкции}

Последовательность выполнения такого блока вложенных условных инструк- ций такова. Сначала проверяется условие_1. Если оно истинно, выполняются инструкции_1. Если условие_1 ложно, проверяется условие_2. При истинном усло- вии выполняются инструкции_2. В противном случае проверяется условие_3 и т. д. Если и последнее условие_N окажется ложным, будет выполнен блок инструкций инструкции финальной ветви else.

Для читателей, программирующих в C++, отдельно обращаем внимание на то обстоятельство, что условие, которое указывается для проверки в условной ин- струкции if(), должно быть выражением, возвращающим логическое значение (тип boolean). Здесь кроется принципиальное отличие от языка С++, в котором в качестве условия в аналогичной инструкции if() может указываться число. В языке Java автоматического приведения числовых значений к логическому типу нет! Это же замечание относится и к прочим управляющим инструкциям в Java.

В листинге 2.1 приведен пример достаточно простой программы, в которой ис- пользуется условная инструкция.

 

Листинг 2.1.Использование условной инструкции if()

class UsingIf{

public static void main(String[] args){

int x=3,y=6,z;


 

Условная инструкция if()51

 

// Условная инструкция: if(x!=0){

z=y/x;

System.out.println("Значение z="+z);} else System.out.println("Деление на нуль!");

}

}

В программе объявляются три целочисленные переменные x, y и z. Первым двум переменным сразу при объявлении присваиваются значения. В условной инструкции переменная x проверяется на предмет отличия ее значения от нуля (условие x!=0). Если значение переменной не равно нулю, переменной z при- сваивается результат деления значения переменной y на значение переменной x. После этого выводится сообщение с указанием значения переменой z.

Если проверяемое условие ложно (то есть значение переменной x равно нулю), выводится сообщение "Деление на нуль!". Для приведенных в листинге 2.1 зна- чений переменных в результате выполнения программы появится сообщение Значение z=2.

Еще один пример использования условной инструкции if() в упрощенной фор- ме приведен в листинге 2.2.

 

Листинг 2.2.Использование упрощенной формы инструкции if()

class UsingIf2{

public static void main(String[] args){

int x=3,y=6,z;

// Условная инструкция: if(x!=0){

z=y/x;

System.out.println("Значение z="+z);

// Завершение программы: return;}

System.out.println("Деление на нуль!");

}

}

Функциональность программного кода, по сравнению с предыдущим примером, не изменилась. Однако механизм использования условной инструкции несколь- ко изменился. Главное отличие состоит в том, что теперь отсутствует ветвь else условной инструкции.

Как и ранее, если значение переменной x отлично от нуля, командой z=y/x при- сваивается значение переменной z, после чего выводится сообщение "Значе- ние z=" со значением этой переменной. Следующей командой в блоке условной инструкции является инструкция завершения работы программы return.

Если значение переменной x равно нулю, блок команд условной инструкции не выполняется, а выполняется команда System.out.println("Деление на нуль!"),


 

размещенная после условной инструкции. Таким образом, сообщение Деление на нуль! появляется только в том случае, если не выполнено условие в условной инструкции.

Для значений переменных, представленных в листинге 2.2, в результате выпол- нения программы на экране появляется сообщение Значение z=2.

Пример использования нескольких вложенных инструкций if() приведен в ли- стинге 2.3.

 

Листинг 2.3.Использование вложенных инструкций if()

class UsingIf3{

public static void main(String[] args){

int a=0;

// Если a равно 0:

if(a==0){System.out.println("Нулевое значение переменной!");}

// Если a равно 1:

else if(a==1){System.out.println("Единичное значение переменной!");}

// Если a – четное (остаток от деления на 2 равен 0):

else if(a%2==0){System.out.println("Четное значение переменной!");}

// В прочих случаях:

else {System.out.println("Нечетное значение переменной!");} System.out.println("Программа завершила работу!");

}

}

В методе main() объявляется целочисленная переменная a. В зависимости от значения этой переменной на экран выводятся разные сообщения. При нуле- вом значении переменной выводится сообщение Нулевое значение переменной!. Если значение переменной a равняется 1, выводится сообщение Единичное значе- ние переменной!. Сообщение Четное значение переменной! появляется в том случае, если значение переменной a есть число четное. Для проверки четности значения переменной a вычисляется остаток от деления a на 2 (для четного числа остаток равен 0). В прочих случаях программой выводится сообщение Нечетное значение переменной!.

Перебор всех возможных вариантов реализован через блок вложенных услов- ных инструкций. Перечисленные ранее условия проверяются по очереди, до первого выполненного условия. Если ни одно из условий не выполнено, коман- дой System.out.println("Программа завершила работу!") в завершающей ветви else блока вложенных условных инструкций выводится соответствующее сообще- ние.

Хотя с помощью блоков вложенных условных инструкций if() можно реа- лизовать практически любою схему ветвления алгоритма программы, нередко вместо вложенных инструкций if() используется условная инструкция выбора switch().


 



<== предыдущая лекция | следующая лекция ==>
Основные операторы Java | Условная инструкция switch()


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 2.036 сек.