Java Operatör Önceliği

Operatör önceliği, bir ifadedeki operatörlerin değerlendirilme sırasını belirler.

Bu makaleyi okumaya başlamadan önce, Java Operatörleri hakkında temel bilgilere sahip olmanız gerekir.

Şimdi aşağıdaki ifadeye bir göz atın:

 int myInt = 12 - 4 * 2;

MyInt'in değeri ne olacak? (12 - 4)*2Yani olacak 16mı? Yoksa olacak 12 - (4 * 2), yani 4?

İki operatör ortak bir işleneni paylaştığında, 4bu durumda, en yüksek önceliğe sahip operatör ilk olarak çalıştırılır.

Java'da önceliği, önceliğinden *daha yüksektir -. Bu nedenle, çarpma işlemi çıkarmadan önce gerçekleştirilir ve myInt değeri 4 olacaktır.

Operatör Öncelik Tablosu

Aşağıdaki tablo, Java'daki operatörlerin önceliğini listeler; tabloda ne kadar yüksek görünürse, önceliği o kadar yüksektir.

Java Operatör Önceliği
Operatörler Öncelik
sonek artırma ve azaltma ++ --
önek artırma ve azaltma ve tekli ++ -- + - ~ !
çarpımsal * / %
katkı + -
vardiya << >> >>>
ilişkisel < > <= >= instanceof
eşitlik == !=
bitsel AND &
bit düzeyinde özel VEYA ^
bitsel kapsayıcı VEYA |
mantıksal AND &&
mantıksal VEYA ||
üçlü ? :
Görev = += -= *= /= %=
&= ^= |= <<= >>= >>>=

Örnek: Operatör Önceliği

 class Precedence ( public static void main(String() args) ( int a = 10, b = 5, c = 1, result; result = a-++c-++b; System.out.println(result); ) )

Çıktı :

 2

Ön ekin operatör önceliği ++, -çıkarma operatöründen daha yüksektir . Dolayısıyla

 sonuç = a - ++ c - ++ b;

eşdeğerdir

 sonuç = a - (++ c) - (++ b);

Tek bir ifadede birden çok operatör ve işlenenle uğraşırken, netlik için yukarıdaki örnekte olduğu gibi parantezleri kullanabilirsiniz. Parantez içindeki ifade önce değerlendirilir.

Java'da Operatörlerin İlişkilendirilmesi

Bir ifadenin benzer önceliğe sahip iki operatörü varsa, ifade ilişkiselliğine göre değerlendirilir (soldan sağa veya sağdan sola). Bir örnek alalım.

 a = b = c;

Burada c'nin değeri değişken b'ye atanır. Daha sonra b'nin değeri a değişkenine atanır. Neden? Bunun nedeni = operatörünün ilişkilendirilebilirliğinin sağdan sola olmasıdır.

Aşağıdaki tablo, Java operatörlerinin ilişkilendirilebilirliğini gösterir.

Java Operatör Önceliği ve İlişkilendirilebilirliği
Operatörler Öncelik İlişkisellik
sonek artırma ve azaltma ++ -- soldan sağa
önek artırma ve azaltma ve tekli ++ -- + - ~ ! sağdan sola
çarpımsal * / % soldan sağa
katkı + - soldan sağa
vardiya << >> >>> soldan sağa
ilişkisel < > <= >= instanceof soldan sağa
eşitlik == != soldan sağa
bitsel AND & soldan sağa
bit düzeyinde özel VEYA ^ soldan sağa
bitsel kapsayıcı VEYA | soldan sağa
mantıksal AND && soldan sağa
mantıksal VEYA || soldan sağa
üçlü ? : sağdan sola
Görev = += -= *= /= %=
&= ^= |= <<= >>= >>>=
sağdan sola

Burada her şeyi ezberlemenize gerek yok. Çoğu zaman operatörlerin önceliği ve birlikteliği kendi içinde anlamlıdır. Şüphe duyduğunuzda referans için her zaman bu makaleye geri dönebilirsiniz. Ayrıca, kodunuzun anlaşılmasını kolaylaştıracağını düşünüyorsanız parantez kullanabilirsiniz.

Ilginç makaleler...