Программирование на языке Java


Битовые операторы присваивания - часть 3


 

Тернарный оператор if-then-else

Общая форма оператора if-then-use такова:

выражение1? выражение2: выражениеЗ

В качестве первого операнда — «выражение1» — может быть исполь­зовано любое выражение, результатом которого является значение типа boolean. Если результат равен true, то выполняется оператор, заданный вторым операндом, то есть, «выражение2». Если же первый операнд paвен false, то выполняется третий операнд — «выражениеЗ». Второй и третий операнды, то есть «выражение2» и «выражениеЗ», должны воз­вращать значения одного типа и не должны иметь тип void.

 

В приведенной ниже программе этот оператор используется для про­верки делителя перед выполнением операции деления. В случае нулевого делителя возвращается значение 0.

 

class Ternary {

public static void main(String args[]) {

int a = 42;

int b = 2;

int c = 99;

int d = 0;

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

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

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

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

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

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

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

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

} }

 

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

С: \>java Ternary

а = 42

b = 2

с = 99

d = 0

a / b = 21

с / d  = 0

 

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

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

Высший

( )

[ ]

.

 

 

 

~

!

 

 

*

/

%

 

+

-

 

 

>>

>>>

<<

 

 

>

>=

<

<=

==

 

!=

 

 

 

 

&

 

 

 

 

 

 

^

 

 

 

 

 

 

|

 

 

 

 

 

 

&&

 

 

 

 

 

 

| |

 

 

 

 

 

 

?:

 

 

 

 

 

 

=

op=

 

 

 

 

Низший

<


- Начало -  - Назад -  - Вперед -