Чтение онлайн

на главную - закладки

Жанры

Основы программирования на Java

Сухов С. А.

Шрифт:

class Ternary {

public static void main(String args[]) {

int a = 42;

int b = 2;

int с = 99;

int d = 0;

int e = (b == 0) ? 0 : (a / b);

int f = (d == 0) ? 0 : (c / d);

System.out.print("a = " + a);

System.out.print("b = " + b);

System.out.print("c = " + c);

System.out.print("d = " + d);

System.out.print("a / b = " + e);

System.out.println("c / d = " + f);

}

}

При выполнении этой программы исключительной ситуации деления на нуль не возникает, и выводятся следующие результаты:

a = 42

b = 2

c = 99

d = 0

a/b = 21

c/d = 0

4.6. Приоритеты операторов

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

Таблица 4.7. Таблица приоритетов всех операций

Высший

1

[] •

2

~ !

3

* / %

4

+ -

5

>> >>> <<

6

> >= < <=

7

== !=

8

&

9

^

10

|

11

&&

12

||

13

? :

14

= op=

Низший

В первой строке таблицы приведены три необычных оператора, о которых мы пока не говорили. Круглые скобки используются для явной установки приоритета. Квадратные скобки [] используются для индексирования переменной-массива. Оператор . (точка) используется для выделения элементов из ссылки на объект.

5. УПРАВЛЕНИЕ ВЫПОЛНЕНИЕМ ПРОГРАММЫ

Управление выполнением (flow control) позволяет изменять последовательность выполнения фрагментов программы, выбирая в зависимости от состояния данных ту или иную ветвь кода. Ветвление, циклы и вызовы подпрограмм - это разновидности управления выполнением программы. Все наши программы до сих пор были полностью линейны - операторы выполнялись строго по порядку, один за другим. В более сложных программах часто требуется, чтобы в зависимости от условий выполнялись одни операторы, а другие при этом пропускались. Для управления выполнением программного кода в Java имеется несколько возможностей, основанных на использовании условных операторов.

5.1. Условный оператор if-else

Конструкция if-else позволяет в зависимости от некоторого логического значения выполнять различные части программного кода. В обобщенной форме этот оператор записывается следующим образом:

if (логическое выражение) оператор 1; [else оператор2;]

Раздел else необязателен. На месте любого из операторов может стоять составной оператор, заключенный в фигурные скобки. Логическое выражение это любое выражение, возвращающее значение типа boolean. Это может быть и простая переменная типа boolean.

int bytesAvailable;

//...

if (bytesAvailable > 0) {

ProcessData; //Обработка данных

bytesAvailable -= n;

}

else

waitForMoreData; //Ждать данные

В качестве логического выражения можно использовать выражение с операторами отношения. Это позволяет выбирать ту или иную ветвь кода в зависимости от результатов сравнения. А вот полная программа, в которой для определения, к какому времени года относится тот или иной месяц, используются операторы if-else.

class IfElse {

public static void main(String args[]) {

int month = 4;

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 = "Bogus Month";

}

System.out.println( "April is in the " + season + ".");

}

}

После выполнения программы вы должны получить следующий результат:

April is in the Spring.

5.2. Опреатор break

Оператор break сообщает исполняющей среде, что следует прекратить выполнение именованного блока и передать управление оператору, следующему за данным блоком. Для именования блоков в языке Java используются метки. Оператор break при работе с циклами и в операторах switch может использоваться без метки. В таком случае подразумевается выход из текущего блока. Для именования блока перед ним помещается метка, состоящая из идентификатора и следующего за ним двоеточия. После объявления метки на нее можно ссылаться в операторе break. При этом управление передается оператору, расположенному за поименованным блоком.

Например, в следующей программе имеется три вложенных блока, и у каждого своя уникальная метка. Оператор break, стоящий во внутреннем блоке, вызывает переход на оператор, следующий за блоком Ь. При этом пропускаются два оператора println.

class Break {

public static void main(String args[]) {

boolean t = true;

a: {

b: {

c: {

System.out.println("ITepefl break");

Поделиться:
Популярные книги

Рассказы

Стаут Рекс
Детективы:
классические детективы
5.00
рейтинг книги
Рассказы

Герой

Бубела Олег Николаевич
4. Совсем не герой
Фантастика:
фэнтези
попаданцы
9.26
рейтинг книги
Герой

Я до сих пор не бог. Книга XXXVII

Дрейк Сириус
37. Дорогой барон!
Фантастика:
аниме
попаданцы
5.00
рейтинг книги
Я до сих пор не бог. Книга XXXVII

"Фантастика 2023-139". Компиляция. Книги 1-20

Поселягин Владимир Геннадьевич
Фантастика 2023. Компиляция
Фантастика:
фэнтези
героическая фантастика
боевая фантастика
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Фантастика 2023-139. Компиляция. Книги 1-20

Легат

Прокофьев Роман Юрьевич
6. Стеллар
Фантастика:
боевая фантастика
рпг
6.73
рейтинг книги
Легат

Эволюционер из трущоб. Том 11

Панарин Антон
11. Эволюционер из трущоб
Фантастика:
аниме
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Эволюционер из трущоб. Том 11

#Бояръ-Аниме. Газлайтер. Том 24

Володин Григорий Григорьевич
24. История Телепата
Фантастика:
боевая фантастика
попаданцы
аниме
5.25
рейтинг книги
#Бояръ-Аниме. Газлайтер. Том 24

Киберпространство

Ливадный Андрей Львович
43. Экспансия: История Галактики
Фантастика:
космическая фантастика
7.69
рейтинг книги
Киберпространство

Сёгун

Клавелл Джеймс
Азиатская сага
Приключения:
исторические приключения
прочие приключения
9.41
рейтинг книги
Сёгун

Том 12. Из 'Автобиографии'. Из записных книжек 1865-1905. Избранные письма

Твен Марк
Проза:
классическая проза
5.00
рейтинг книги
Том 12. Из 'Автобиографии'. Из записных книжек 1865-1905. Избранные письма

Железная маска (сборник)

Дюма-отец Александр
Приключения:
исторические приключения
5.00
рейтинг книги
Железная маска (сборник)

Голубая Сфера

Мак Иван
21. Легенды Вселенной
Фантастика:
боевая фантастика
3.40
рейтинг книги
Голубая Сфера

Возвращение Томаса. Башня-2 (сборник)

Никитин Юрий Александрович
Фантастика:
фэнтези
7.00
рейтинг книги
Возвращение Томаса. Башня-2 (сборник)

Долина совести

Дяченко Марина и Сергей
Фантастика:
социально-философская фантастика
8.64
рейтинг книги
Долина совести