logo

Najvišja prednost v Javi

Ko govorimo o prednosti v Javi, je na prvem mestu operater. V Javi so določena določena pravila, ki določajo vrstni red, v katerem se ovrednotijo ​​operatorji v izrazu. Prednost operaterja je koncept določanja skupine izrazov v izrazu. Za ovrednotenje izrazov je odgovoren prednostni operater. notri Java , oklepaji() in Indeks matrike[] imajo največjo prednost v Javi. Na primer, seštevanje in odštevanje imata večjo prednost kot operatorja za levi premik in desni premik.

Najvišja prednost v Javi

Spodaj je definirana tabela, v kateri je operator z najnižjo prednostjo prikazan na vrhu.

Prednost Operater Vrsta Asociativnost
1) =
+=
-=
*=
/=
%=
Dodelitev
Dodatna naloga
Odštevanje naloga
Naloga množenja
Dodelitev delitve
Dodelitev modula
Od desne proti levi
2) ? : Ternarni pogojnik Od desne proti levi
3) || Logični ALI Od leve proti desni
4) && Logični IN Od leve proti desni
5) | Bitno vključujoč ALI Od leve proti desni
6) ^ Bitno izključujoč ALI Od leve proti desni
7) & Bitno IN Od leve proti desni
8) !=
==
Relacijski ni enak
Relacijski je enak
Od leve proti desni
9) <
<=
>
>=
instanceof
Relacijski manj kot
Relacijski manj kot ali enako
Relacijski večji od
Relacijski večji ali enak
Primerjava vrst (samo predmeti)
Od leve proti desni
10) >>
<<
>>>
Bitni premik v desno z razširitvijo predznaka
Bitni premik v levo
Bitni premik v desno z ničelno razširitvijo
Od leve proti desni
enajst) -
+
Odštevanje
Dodatek
Od leve proti desni
12) *
/
%
Množenje
Delitev
Modul
Od leve proti desni
13) -
+
~
!
(vrsta)
Enarni minus
Enarni plus
Unarni bitni komplement
Enarna logična negacija
Enarna vrsta
Od desne proti levi
14) ++
--
Enarni postinkrement
Enarni postdekrement
Od desne proti levi
petnajst) ·
()
[]
Operator pike
Oklepaji
Indeks matrike
Od leve proti desni

Prednostni vrstni red

Ko si dva operatorja delita en operand, je prvi operator z najvišjo prednostjo. Na primer, x + y * z se obravnava kot x + (y * z), medtem ko se x * y + z obravnava kot (x * y) + z, ker ima operator * največjo prednost v primerjavi z operatorjem +.

kako prenesti youtube video vlc

Asociativnost

Asociativnost je koncept, povezan z operatorji, ki se uporabijo, ko v izrazu prideta dva operatorja z enako prednostjo. Koncept asociativnosti je zelo koristen za izhod iz te situacije. Recimo, da imamo izraz a + b - c (operatorja + in - imata enako prednost) , in ta izraz bo obravnavan kot (a + (b - c)) ker so ti operatorji asociativni od desne proti levi. Po drugi strani pa bo a+++--b+c++ obravnavan kot ((a++)+((--b)+(c++))) ker so unarni operatorji postinkrementa in dekrementa desno proti levi asociativni.

Spodaj je opredeljen primer, da razumete, kako je izraz ovrednoten z uporabo prednostnega vrstnega reda in asociativnosti?

Izraz: x = 4 / 2 + 8 * 4 - ( 5+ 2 ) % 3

rešitev:

1) V zgornjem izrazu je operator z najvišjo prednostjo () . Torej, oklepaj je prvi in ​​prvi izračuna.

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

2) Zdaj, /, * in % operaterji imajo enako prednost in najvišjo od + in - Tukaj za njihovo reševanje uporabljamo koncept asociativnosti. Asociativi teh operaterjev so od leve proti desni. Torej, / operater gre najprej in nato * in % istočasno.

lokalni datum

x = 2 + 8 * 4 - 7 % 3

x = 2 + 32 - 7 % 3

x = 2 + 32 - 1

3) Zdaj, + in - oba operatorja imata enako prednost in asociativnost teh operatorjev lest v desno. Torej, + operater bo šel prvi in ​​nato - bom šel.

x = 34 - 1

x = 33

kakšna je razlika med megabajtom in gigabajtom

HighestPrecedence.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); } } 

Izhod

Najvišja prednost v Javi