Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по Java.doc
Скачиваний:
836
Добавлен:
04.06.2015
Размер:
5.55 Mб
Скачать

Выражения целого типа

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

К арифметическим операциям относятся:

+сложение3 + 2 = 5

-вычитания5 – 2 = 3

*умножение3 * 2 = 6

/деление нацело5 / 3 = 1

%остаток от деления5 % 3 = 2

5 % 2 = 1

5 % 1 = 0

5 % 5 = 0

2 % 3 = 2

++инкрементx++ = x + 1

++x = x + 1

--декрементx-- = x – 1

--x = x – 1

Как и в языке Си, в выражения целого типа языкаJavaмогут входить и операнды символьного типа (char), при этом операции выполняются над кодами символьных констант, а результат может быть выражен или целым числом, или символом:

A’ + 3 = ‘D’

A’ + 3 = 68

a’ – 32 = ‘A’

a’ – 32 = 65

0’ + 1 = 49

0’ + 1 = ‘1’

Если в выражении целого типа встречаются операнды различных типов, то производится автоматическое преобразование типов к одному, самому длинному:

  • если хотя бы один из операндов имеет тип long, то и другие преобразуются в операнды типа long, и результат будет иметь тоже тип long,

  • во всех остальных случаях операнды преобразуются к типу int.

Побитовыеоперации выполняются над двоичными кодами операндов, над каждым разрядом кода отдельно. К ним относятся:

&И 5&3 = 1 101 = 5

&

011 = 3

___

001 = 1

|ИЛИ 5|3 = 7 101 = 5

|

011 = 3

___

111 = 7

^исключающееИЛИ 5^3 = 6 101 = 5

^

011 = 3

___

110 = 6

Приоритет выполнения операций:

-изменение знака

++инкремент

--декремент

Эти операции имеют наивысший приоритет и выполняются в выражениях справа налево.

За ними следуют операции:

*, /, % операции типа умножения

+, -операции типа сложения

&побитовоеИ

^исключающееИЛИ

|побитовоеИЛИ

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

Примеры записи выражений целого типа:

5*x*x*x

a*b/c + c/(a*b)

Примеры вычислений выражений целого типа:

(5&3) + (5|3)= 8

(int)(Math.ceil(5.9) % Math.floor(5.9) + Math.round(5.9)) = 7

(int)(Math.rint(2.7) / Math.round(2.7) + 3%5) = 4

Выражения действительного типа

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

К арифметическимоперациям относятся:

+сложение3.2 + 2.5 = 5.7

-вычитания5.8 – 2.5 = 3.3

*умножение3.5 * 2.0 = 7.0

/деление5.5 / 2.0 = 2.25

%остаток от деления5.2 % 2.3 = 0.6

2.3 % 5.2 = 2.3

++инкрементx++ = x + 1.0

++x = x + 1.0

--декрементx-- = x – 1.0

--x = x – 1.0

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

если хотя бы один из операндов имеет тип double, то и другие преобразуются в операнды типа double, и результат будет иметь тоже тип double.