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

Операторы


Глава 5 Операторы

Операторы в языке Java — это специальные символы, которые сообщают транслятору о том, что вы хотите выполнить операцию с не­которыми операндами. Некоторые операторы требуют одного операн­да, их называют унарными. Одни операторы ставятся перед операндами и называются пре­фиксными, другие — после, их называют постфиксными

операторами. Большинство же операторов ставят между двумя операндами, такие операторы называют­ся инфиксными бинарными операторами. Существует тернарный опе­ратор, работающий с тремя операндами.

В Java имеется 44 встроенных оператора. Их можно разбить на 4 класса - арифметические, битовые, операторы сравнения  и логические.

 

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

Арифметические операторы используются для вычислений так же как в алгебре (см. таблицу со сводкой арифметических операторов ниже). Допустимые операнды должны иметь числовые типы. Например, исполь­зовать эти операторы для работы с логическими типами нельзя, а для работы с типом char можно, поскольку в Java тип char — это подмно­жество типа int.

Оператор



Результат

Оператор

Результат

+

Сложение

+ =

сложение с присваиванием

-

вычитание (также унарный минус)

-=

вычитание с присваиванием

*

Умножение

* =

умножение с присваиванием

/

Деление

/=

деление с присваиванием

%

деление по модулю

%=

деление по модулю с присваиванием

++

Инкремент

--

декремент

 

Четыре арифметических действия

Ниже, в качестве примера, приведена простая программа, демонстрирующая использование операторов. Обратите внимание на то, что операторы работают как с целыми литерала­ми, так и с переменными.

class BasicMath  { public static void int a = 1 + 1;

int  b = a *  3;

main(String args[]) {

int c = b / 4;

int d = b - а;

int e = -d;

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




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



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



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



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



} }



Исполнив эту программу, вы должны получить приведенный ниже ре­зультат:

C: \> java BasicMath

a = 2



b = 6



c = 1



d = 4



e = -4



Оператор деления по модулю

Оператор деления по модулю, или оператор mod, обозначается сим­волом %. Этот оператор возвращает остаток от деления первого операнда на второй. В отличие от C++, функция mod в Java работает не только с целыми, но и с вещественными типами. Приведенная ниже программа иллюстрирует работу этого оператора.

class Modulus {



public static void main (String args []) {



int x = 42;



double у = 42.3;



System.out.println("x mod 10 = " + x % 10);



System.out.println("y mod 10 = " + у % 10);



} }



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

С:\> Modulus

x mod 10 = 2



y mod 10 = 2.3



 



Арифметические операторы присваивания

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

class OpEquals {



public static void main(String args[]) {



int a = 1;



int b = 2;



int с = 3;



a += 5;



b *= 4;



c += a * b;



с %= 6;



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



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



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



} }



А вот и результат, полученный при запуске этой программы:

С:> Java OpEquals

а = 6



b = 8



с = 3



 



Инкремент и декремент

В С существует 2 оператора, называемых операторами инкремента и декремента (++ и --) и являющихся сокращенным вариантом записи для сложения или вычитания из операнда единицы. Эти операторы уникальны в том плане, что могут использоваться как в префиксной, так и в постфиксной форме. Следующий при­мер иллюстрирует использование операторов инкремента и декремента.



class IncDec {



public static void main(String args[]) {



int a = 1;



int b = 2;



int c = ++b;



int d = a++;



c++;



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



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



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



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



} }



Результат выполнения данной программы будет таким:

C:\ java IncDec

a = 2



b = 3



c = 4



d = 1




Содержание раздела