Bu bölümde şunları öğreneceğiz: Şebeke Java'da öncelik örneklerle birlikte.
Operatör önceliği nedir?
Operatör Önceliği iki ifadenin nasıl birbirine bağlandığını temsil eder. Bir ifadede operatörlerin işlenenlerle gruplandırılmasını belirler ve bir ifadenin nasıl değerlendirileceğine karar verir.
Bir ifadeyi çözerken iki şeyin akılda tutulması gerekir; ilki öncelik ve ikincisi çağrışımsallık .
Öncelik
Öncelik, farklı türdeki operatörlerin işlenenleriyle gruplandırılmasında önceliktir. Yalnızca bir ifadenin daha yüksek veya daha düşük önceliğe sahip birden fazla operatöre sahip olması durumunda anlamlıdır. Önceliği yüksek olan operatörler ilk olarak değerlendirilir. Önce düşük öncelikli operatörleri değerlendirmek istiyorsak işlenenleri parantez kullanarak gruplamalı ve sonra değerlendirmeliyiz.
çağrışımsallık
Bir ifadenin aynı önceliğe sahip ikiden fazla işleci varsa çağrışımsallığı takip etmeliyiz. Böyle bir durumda bir ifade şu şekilde çözülebilir: soldan sağa veya sağdan sola, buna göre.
Java Operatörü Öncelik Tablosu
Aşağıdaki tabloda Java'da kullanılan operatörlerin öncelikleri ve ilişkilendirilebilirlikleri açıklanmaktadır.
Öncelik | Şebeke | Tip | çağrışımsallık |
---|---|---|---|
on beş | () [] · | Parantez Dizi alt simgesi Üye seçimi | Soldan sağa |
14 | ++ -- | Tekli artış sonrası Tekli azalma sonrası | Sağdan sola |
13 | ++ -- + - ! ~ (tip) | Tekli ön artış Tekli ön azalma Tekli artı Tekli eksi Tekli mantıksal olumsuzlama Tekli bitsel tamamlayıcı Tekli tip döküm | Sağdan sola |
12 | * / % | Çarpma işlemi Bölüm Modül | Soldan sağa |
on bir | + - | Ek Çıkarma | Soldan sağa |
10 | << >> >>> | Bit bazında sola kaydırma İşaret uzantısıyla bit bazında sağa kaydırma Sıfır uzantılı bit bazında sağa kaydırma | 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 |
8 | == != | İlişkisel eşittir İlişkisel eşit değil | Soldan sağa |
7 | & | Bitsel VE | Soldan sağa |
6 | ^ | Bit bazında özel VEYA | Soldan sağa |
5 | | | Bit bazında dahil VEYA | Soldan sağa |
4 | && | Mantıksal VE | Soldan sağa |
3 | || | Mantıksal VEYA | Soldan sağa |
2 | ? : | Üçlü koşullu | Sağdan sola |
1 | = += -= *= /= %= | Atama İlave atama Çıkarma ataması Çarpma ataması Bölüm ataması Modül ataması | Sağdan sola |
Not: Sayı büyüdükçe öncelik artar.
Java Operatörü Önceliği Örneği
Operatör önceliğini bir örnek üzerinden anlayalım. Aşağıdaki ifadeyi inceleyin ve cevabı tahmin edin.
1 + 5 * 3
Cevabın şöyle olacağını düşünüyor olabilirsiniz 18 Ama öyle değil. Çünkü çarpma (*) operatörü, toplama (+) operatöründen daha yüksek önceliğe sahiptir. Dolayısıyla ifade önce 5*3'ü, sonra kalan ifadeyi yani 1+15'i değerlendirir. Bu nedenle cevap şu olacaktır: 16 .
Başka bir örnek görelim. Aşağıdaki ifadeyi düşünün.
x + y * z / k
Yukarıdaki ifadede * ve / işlemleri öncelik nedeniyle +'dan önce gerçekleştirilir. İlişkisellik nedeniyle y k'ye bölünmeden önce z ile çarpılır.