logo

Java'da en yüksek öncelik

Java'da öncelik denince akla ilk olarak operatör gelir. Bir ifadedeki operatörlerin değerlendirileceği sırayı belirtmek için Java'da tanımlanmış belirli kurallar vardır. Operatör Önceliği bir ifadedeki terim grubunu belirleme kavramıdır. İfadelerin değerlendirilmesinden operatör önceliği sorumludur. İçinde Java , parantez() Ve Dizi alt simgesi[] Java'da en yüksek önceliğe sahiptir. Örneğin, Toplama ve Çıkarma, Sola kaydırma ve Sağa kaydırma işleçlerinden daha yüksek önceliğe sahiptir.

Java'da en yüksek öncelik

Aşağıda, en düşük öncelikli operatörün en üstte gösterildiği tanımlanmış bir tablo bulunmaktadır.

Öncelik Şebeke Tip çağrışımsallık
1) =
+=
-=
*=
/=
%=
Atama
İlave atama
Çıkarma ataması
Çarpma ataması
Bölüm ataması
Modül ataması
Sağdan sola
2) ? : Üçlü koşullu Sağdan sola
3) || Mantıksal VEYA Soldan sağa
4) && Mantıksal VE Soldan sağa
5) | Bit bazında dahil VEYA Soldan sağa
6) ^ Bit bazında özel VEYA Soldan sağa
7) & Bitsel VE Soldan sağa
8) !=
==
İlişkisel eşit değil
İlişkisel eşittir
Soldan sağa
9) <
<=
>
>=
örneği
İlişkisel olarak daha az
İlişkisel olarak küçük veya eşit
İlişkisel olarak daha büyük
İlişkisel olarak büyük veya eşittir
Tür karşılaştırması (yalnızca nesneler)
Soldan sağa
10) >>
<<
>>>
İşaret uzantısıyla bit bazında sağa kaydırma
Bit bazında sola kaydırma
Sıfır uzantılı bit bazında sağa kaydırma
Soldan sağa
onbir) -
+
Çıkarma
Ek
Soldan sağa
12) *
/
%
Çarpma işlemi
Bölüm
Modül
Soldan sağa
13) -
+
~
!
( tip)
Tekli eksi
Tekli artı
Tekli bitsel tamamlayıcı
Tekli mantıksal olumsuzlama
Tekli tipleme
Sağdan sola
14) ++
--
Tekli artış sonrası
Tekli azalma sonrası
Sağdan sola
on beş) ·
()
[]
Nokta operatörü
Parantez
Dizi alt simgesi
Soldan sağa

Öncelik sırası

İki operatör tek bir işleneni paylaştığında, en yüksek önceliğe sahip olan operatör ilk sırada yer alır. Örneğin, x + y * z, x + (y * z) olarak ele alınırken x * y + z, (x * y) + z olarak ele alınır çünkü * operatörü, + operatörüne kıyasla en yüksek önceliğe sahiptir.

android süreci acore

çağrışımsallık

İlişkisellik, aynı önceliğe sahip iki operatörün bir ifadede gelmesi durumunda uygulanan operatörlerle ilgili bir kavramdır. Çağrışım kavramı bu durumdan çıkmak için çok faydalıdır. Diyelim ki bir a + b - c ifademiz var (+ ve - operatörleri aynı önceliğe sahiptir) ve bu ifade şu şekilde ele alınacaktır: (a + (b - c)) çünkü bu operatörler sağdan sola ilişkilidir. Öte yandan, a+++--b+c++ şu şekilde ele alınacaktır: ((a++)+((--b)+(c++))) çünkü tekli artma ve eksiltme operatörleri sağdan sola ilişkiseldir.

Bir ifadenin öncelik sırası ve ilişkilendirilebilirlik kullanılarak nasıl değerlendirildiğini anlamak için aşağıda bir örnek tanımlanmıştır.

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

Çözüm:

1) Yukarıdaki ifadede en yüksek öncelikli operatör: () . Yani parantez önce gider ve önce hesap yapar.

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

2) Şimdi, /, * Ve % operatörler aynı önceliğe ve en yüksek değere sahiptir. + Ve - Burada bunları çözmek için çağrışım kavramını kullanıyoruz. Bu operatörlerin çağrışımları soldan sağa doğrudur. Bu yüzden, / operatör önce gider ve sonra * Ve % eşzamanlı.

android gamepigeon oynayabilir mi

x = 2 + 8 * 4 - 7 %3

x = 2 + 32 - %7 3

x = 2 + 32 - 1

3) Şimdi, + Ve - operatörlerin her ikisi de aynı önceliğe sahiptir ve bu operatörlerin ilişkilendirilebilirliği sağa doğrudur. Bu yüzden, + önce operatör gidecek, sonra - gidecek.

x = 34 - 1

x = 33

boolean'ı dizeye dönüştür

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

Çıktı

Java'da en yüksek öncelik