Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Operatör Önceliği

BERK programlama dilinde operatörlerin öncelik sırası ve birleşme yönleri. Öncelik seviyesi arttıkça operatörler önce değerlendirilir.

📊 Öncelik Tablosu

Öncelik Operatör Açıklama Birleşme
1 (En Yüksek) () [] . Parantez, Dizin, Üye erişimi Soldan sağa
2 ++ -- ! ~ + - Unary operatörler (artır, azalt, değil, bitwise not, tekli +/-) Sağdan sola
3 ** Üs alma Sağdan sola
4 * / % Çarpma, bölme, mod Soldan sağa
5 + - Toplama, çıkarma Soldan sağa
6 << >> Bit kaydırma (shift) Soldan sağa
7 < <= > >= İlişkisel karşılaştırma Soldan sağa
8 == != Eşitlik kontrolü Soldan sağa
9 & Bitwise AND Soldan sağa
10 ^ Bitwise XOR Soldan sağa
11 | Bitwise OR Soldan sağa
12 && ve and Mantıksal VE Soldan sağa
13 || veya or Mantıksal VEYA Soldan sağa
14 ? : Ternary koşul operatörü Sağdan sola
15 = += -= *= /= %= Atama operatörleri Sağdan sola
16 (En Düşük) , Virgül operatörü Soldan sağa

💡 Örnekler

Öncelik Sırası

// Çarpma toplama önce gelir
değişken sonuç = 5 + 3 * 2  // = 5 + 6 = 11 (not 16)

// Parantez en yüksek önceliğe sahip
değişken sonuç2 = (5 + 3) * 2  // = 8 * 2 = 16

// Üs alma çarpmadan önce
değişken sonuç3 = 2 * 3 ** 2  // = 2 * 9 = 18

// Mantıksal operatörler
değişken koşul = doğru veya yanlış ve yanlış  // = doğru (ve önce)
değişken koşul2 = (doğru veya yanlış) ve yanlış  // = yanlış

Birleşme Yönü

// Soldan sağa (çoğu operatör)
değişken a = 10 - 5 - 2  // = (10 - 5) - 2 = 3

// Sağdan sola (atama)
değişken x, y, z
x = y = z = 5  // Sağdan başlar: z=5, y=5, x=5

// Sağdan sola (üs alma)
değişken b = 2 ** 3 ** 2  // = 2 ** (3 ** 2) = 2 ** 9 = 512

Karmaşık İfadeler

değişken result = 10 + 5 * 2 - 3 ** 2 / 3
// Adım adım:
// 1. 3 ** 2 = 9 (üs alma)
// 2. 5 * 2 = 10 (çarpma)
// 3. 9 / 3 = 3 (bölme)
// 4. 10 + 10 = 20 (toplama)
// 5. 20 - 3 = 17 (çıkarma)
// Sonuç: 17

// Parantezle netleştirme
değişken result2 = ((10 + (5 * 2)) - ((3 ** 2) / 3))  // Daha okunabilir

Mantıksal Operatörler

değişken x = 5
değişken y = 10
değişken z = 15

// && (ve) || (veya) önce gelir
değişken sonuç = x < y || y > z && z > x
// = (x < y) || ((y > z) && (z > x))
// = doğru || (yanlış && doğru)
// = doğru || yanlış
// = doğru

// Parantez kullanımı önerilir
değişken açık = (x < y) || ((y > z) && (z > x))

Bitwise Operatörler

değişken a = 0b1100  // 12
değişken b = 0b1010  // 10

// Bitwise operatörler mantıksal operatörlerden önce
değişken sonuç = a & b | a ^ b
// = (a & b) | (a ^ b)
// = (0b1000) | (0b0110)
// = 0b1110 = 14

⚠️ İyi Pratikler

  • Karmaşık ifadelerde parantez kullanın - okunabilirliği artırır
  • Bir satırda çok fazla operatör kullanmaktan kaçının
  • Öncelik sırası belirsizse parantez ekleyin
  • Kod inceleme sırasında operatör önceliği hatalarına dikkat edin