logo

Pierwszeństwo operatora Java

W tej części nauczymy się operator pierwszeństwo w Javie wraz z przykładami.

Co to jest pierwszeństwo operatora?

The pierwszeństwo operatora reprezentuje sposób, w jaki dwa wyrażenia są ze sobą powiązane. W wyrażeniu określa grupowanie operatorów z operandami i decyduje, w jaki sposób wyrażenie będzie oceniane.

Rozwiązując wyrażenie, należy pamiętać o dwóch rzeczach, pierwszą jest a precedens a drugie jest skojarzenie .

Pierwszeństwo operatora Java

Precedens

Pierwszeństwo jest priorytetem przy grupowaniu różnych typów operatorów wraz z ich operandami. Ma to znaczenie tylko wtedy, gdy wyrażenie ma więcej niż jeden operator o wyższym lub niższym priorytecie. W pierwszej kolejności oceniane są operatory posiadające wyższy priorytet. Jeśli chcemy najpierw ocenić operatory o niższym priorytecie, musimy pogrupować operandy za pomocą nawiasów, a następnie dokonać oceny.

Łączność

Musimy przestrzegać skojarzeń, jeśli wyrażenie ma więcej niż dwa operatory o tym samym priorytecie. W takim przypadku wyrażenie można również rozwiązać od lewej do prawej Lub od prawej do lewej, odpowiednio.

Tabela pierwszeństwa operatorów Java

Poniższa tabela opisuje pierwszeństwo i łączność operatorów używanych w Javie.

Precedens Operator Typ Łączność
piętnaście ()
[]
·
Zdanie wtrącone
Indeks tablicy
Wybór członka
Od lewej do prawej
14 ++
--
Jednoargumentowa inkrementacja
Jednoargumentowa redukcja
Od prawej do lewej
13 ++
--
+
-
!
~
(typ)
Jednoargumentowy przyrost wstępny
Jednoargumentowa dekrementacja wstępna
Jednoargumentowy plus
Jednoargumentowy minus
Jednoargumentowa negacja logiczna
Jednoargumentowe uzupełnienie bitowe
Obsada typu jednoargumentowego
Od prawej do lewej
12 *
/
%
Mnożenie
Dział
Moduł
Od lewej do prawej
jedenaście +
-
Dodatek
Odejmowanie
Od lewej do prawej
10 <<
>>
>>>
Bitowe przesunięcie w lewo
Bitowe przesunięcie w prawo z rozszerzeniem znaku
Bitowe przesunięcie w prawo z zerowym rozszerzeniem
Od lewej do prawej
9 <
<=
>
>=
wystąpienie
Relacyjne mniej niż
Relacyjny mniejszy lub równy
Relacyjne większe niż
Relacyjny większy lub równy
Porównanie typów (tylko obiekty)
Od lewej do prawej
8 ==
!=
Relacyjne jest równe
Relacyjne nie jest równe
Od lewej do prawej
7 & Bitowe AND Od lewej do prawej
6 ^ Bitowe wyłączne LUB Od lewej do prawej
5 | Bitowe włącznie OR Od lewej do prawej
4 && Logiczne AND Od lewej do prawej
3 || Logiczne LUB Od lewej do prawej
2 ? : Warunek trójskładnikowy Od prawej do lewej
1 =
+=
-=
*=
/=
%=
Zadanie
Zadanie dodania
Zadanie odejmowania
Zadanie mnożenia
Przydział dywizji
Przypisanie modułu
Od prawej do lewej

Uwaga: Im większa liczba, tym wyższy priorytet.

Przykład pierwszeństwa operatora Java

Przyjrzyjmy się pierwszeństwu operatora na przykładzie. Rozważ poniższe wyrażenie i odgadnij odpowiedź.

 1 + 5 * 3 

Być może myślisz, że odpowiedź będzie brzmiała 18 ale nie tak. Ponieważ operator mnożenia (*) ma wyższy priorytet niż operator dodawania (+). Dlatego wyrażenie najpierw ocenia 5*3, a następnie ocenia pozostałe wyrażenie, tj. 1+15. Dlatego odpowiedź będzie 16 .

Zobaczmy inny przykład. Rozważ następujące wyrażenie.

 x + y * z / k 

W powyższym wyrażeniu operacje * i / są wykonywane przed + ze względu na pierwszeństwo. y jest mnożone przez z, a następnie dzielone przez k ze względu na łączność.