logo

Najwyższy priorytet w Javie

Kiedy mówimy o pierwszeństwie w Javie, na pierwszym miejscu myślimy o operatorze. W Javie zdefiniowano pewne reguły określające kolejność, w jakiej oceniane są operatory w wyrażeniu. Pierwszeństwo operatora jest koncepcją określenia grupy terminów w wyrażeniu. Pierwszeństwo operatora jest odpowiedzialne za ocenę wyrażeń. W Jawa , zdanie wtrącone() I Indeks dolny tablicy[] mają najwyższy priorytet w Javie. Na przykład dodawanie i odejmowanie mają wyższy priorytet niż operatory przesunięcia w lewo i przesunięcia w prawo.

Najwyższy priorytet w Javie

Poniżej znajduje się zdefiniowana tabela, w której na górze znajduje się operator o najniższym priorytecie.

Precedens Operator Typ Łączność
1) =
+=
-=
*=
/=
%=
Zadanie
Zadanie dodania
Zadanie odejmowania
Zadanie mnożenia
Przydział dywizji
Przypisanie modułu
Od prawej do lewej
2) ? : Warunek trójskładnikowy Od prawej do lewej
3) || Logiczne LUB Od lewej do prawej
4) && Logiczne AND Od lewej do prawej
5) | Bitowe włącznie OR Od lewej do prawej
6) ^ Bitowe wyłączne LUB Od lewej do prawej
7) & Bitowe AND Od lewej do prawej
8) !=
==
Relacyjne nie jest równe
Relacyjne jest równe
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
10) >>
<<
>>>
Bitowe przesunięcie w prawo z rozszerzeniem znaku
Bitowe przesunięcie w lewo
Bitowe przesunięcie w prawo z zerowym rozszerzeniem
Od lewej do prawej
jedenaście) -
+
Odejmowanie
Dodatek
Od lewej do prawej
12) *
/
%
Mnożenie
Dział
Moduł
Od lewej do prawej
13) -
+
~
!
( typ)
Jednoargumentowy minus
Jednoargumentowy plus
Jednoargumentowe uzupełnienie bitowe
Jednoargumentowa negacja logiczna
Typografia jednoargumentowa
Od prawej do lewej
14) ++
--
Jednoargumentowa inkrementacja
Jednoargumentowa redukcja
Od prawej do lewej
piętnaście) ·
()
[]
Operator kropki
Zdanie wtrącone
Indeks tablicy
Od lewej do prawej

Kolejność pierwszeństwa

Kiedy dwa operatory dzielą ten sam operand, pierwszy ma najwyższy priorytet. Na przykład x + y * z jest traktowane jako x + (y * z), podczas gdy x * y + z jest traktowane jako (x * y) + z, ponieważ operator * ma najwyższy priorytet w porównaniu z operatorem +.

prędkość transmisji w Arduino

Łączność

Łączność to koncepcja związana z operatorami stosowanymi, gdy w wyrażeniu występują dwa operatory o tym samym priorytecie. Koncepcja skojarzeń jest bardzo pomocna w wyjściu z tej sytuacji. Załóżmy, że mamy wyrażenie a + b - c (operatorzy + i - mają ten sam priorytet) , a to wyrażenie będzie traktowane jako (a + (b - c)) ponieważ te operatory są skojarzone od prawej do lewej. Z drugiej strony a+++--b+c++ będzie traktowane jako ((a++)+((--b)+(c++))) ponieważ jednoargumentowe operatory postinkrementacji i dekrementacji są łączne od prawej do lewej.

Poniżej zdefiniowano przykład, aby zrozumieć, w jaki sposób wyrażenie jest oceniane przy użyciu kolejności pierwszeństwa i skojarzeń?

Wyrażenie: x = 4 / 2 + 8 * 4 - ( 5+ 2 ) % 3

Rozwiązanie:

1) W powyższym wyrażeniu operatorem o najwyższym priorytecie jest () . Zatem nawias jest pierwszy i najpierw wykonuje obliczenia.

x = 4 / 2 + 8 * 4 - 7% 3

2) Teraz, /, * I % operatory mają ten sam priorytet i najwyższy z + I - Tutaj używamy koncepcji skojarzeń, aby je rozwiązać. Łączność tych operatorów przebiega od lewej do prawej. Więc, / operator idzie pierwszy, a potem * I % jednocześnie.

sortowanie wiadro

x = 2 + 8 * 4 - 7% 3

x = 2 + 32 - 7% 3

x = 2 + 32 - 1

3) Teraz, + I - oba operatory mają również ten sam priorytet, a łączność tych operatorów jest po prawej stronie. Więc, + operator pójdzie pierwszy, a potem - ruszymy.

x = 34 - 1

x = 33

Python zapisz json do pliku

Najwyższe pierwszeństwo.java

 //import classes import java.util.*; //creating HighestPrecedence class to evaluate the expression public class HighestPrecedence { //main() method starts public static void main(String[] args) { //initialize variables with default values int x = 2; int y = 5; int z = 12; //calculating exp1, exp2, and exp3 int exp1 = x +(z/x+(z%y)*(z-x)^2); int exp2 = z/x+y*x-(y+x)%z; int exp3 = 4/2+8*4-(5+2)%3; //printing the result System.out.println(exp1); System.out.println(exp2); System.out.println(exp3); } } 

Wyjście

Najwyższy priorytet w Javie