logo

Предимство на Java оператор

В този раздел ще научим оператор приоритет в Java заедно с примери.

Какво е приоритет на оператора?

The приоритет на оператора представя как два израза се свързват заедно. В израз той определя групирането на оператори с операнди и решава как ще се оценява изразът.

Докато решавате израз, трябва да имате предвид две неща, първото е a предимство а второто е асоциативност .

Предимство на Java оператор

Предимство

Приоритетът е приоритетът за групиране на различни типове оператори с техните операнди. Има смисъл само ако изразът има повече от един оператор с по-висок или по-нисък приоритет. Първи се оценяват операторите с по-висок приоритет. Ако искаме първо да оценим оператори с по-нисък приоритет, трябва да групираме операндите с помощта на скоби и след това да оценим.

Асоциативност

Трябва да следваме асоциативността, ако един израз има повече от два оператора с еднакъв приоритет. В такъв случай един израз може да бъде решен Отляво надясно или от дясно на ляво, съответно.

Таблица с приоритет на Java оператори

Следната таблица описва приоритета и асоциативността на операторите, използвани в Java.

Предимство Оператор Тип Асоциативност
петнадесет ()
[]
·
Скоби
Долен индекс на масив
Избор на членове
Отляво надясно
14 ++
--
Унарен постинкремент
Унарен постдекремент
От дясно на ляво
13 ++
--
+
-
!
~
(Тип)
Унарен преинкремент
Унарен предекремент
Унарен плюс
Унарен минус
Унарно логическо отрицание
Унарно побитово допълнение
Унарен тип отливка
От дясно на ляво
12 *
/
%
Умножение
дивизия
Модул
Отляво надясно
единадесет +
-
Допълнение
Изваждане
Отляво надясно
10 <<
>>
>>>
Побитово изместване наляво
Побитово изместване надясно със знаково разширение
Побитово изместване надясно с нулево разширение
Отляво надясно
9 <
<=
>
>=
instanceof
Релационно по-малко от
Релационно по-малко или равно
Релационно по-голямо от
Релационно по-голямо или равно
Сравнение на типове (само обекти)
Отляво надясно
8 ==
!=
Релационно е равно на
Релационният не е равен на
Отляво надясно
7 и Побитово И Отляво надясно
6 ^ Побитово изключително ИЛИ Отляво надясно
5 | Побитово включващо ИЛИ Отляво надясно
4 && Логично И Отляво надясно
3 || Логическо ИЛИ Отляво надясно
2 ? : Троичен условен От дясно на ляво
1 =
+=
-=
*=
/=
%=
Възлагане
Задание за добавяне
Задаване с изваждане
Задача за умножение
Назначаване на разделяне
Задаване на модул
От дясно на ляво

Забележка: Колкото по-голямо е числото, толкова по-висок е приоритетът.

Пример за приоритет на Java оператор

Нека разберем приоритета на оператора чрез пример. Помислете за следния израз и познайте отговора.

 1 + 5 * 3 

Може би си мислите, че отговорът ще бъде 18 но не така. Тъй като операторът за умножение (*) има по-висок приоритет от оператора за събиране (+). Следователно, изразът първо оценява 5*3 и след това оценява оставащия израз, т.е. 1+15. Следователно отговорът ще бъде 16 .

Да видим друг пример. Разгледайте следния израз.

 x + y * z / k 

В горния израз операциите * и / се изпълняват преди + поради предимство. y се умножава по z, преди да се раздели на k поради асоциативността.