Menu
Coddy logo textTech

Operatör Önceliği Temelleri

Coddy'nin GO Journey'sinin Temeller bölümünün bir parçası — ders 27 / 109.

Operatör önceliği, bir ifadedeki işlemlerin gerçekleştirilme sırasını belirler. Daha yüksek önceliğe sahip işlemler, daha düşük önceliğe sahip olanlardan önce gerçekleştirilir.

Operatör önceliğini gösteren bir program oluşturun:

result1 := 5 + 3 * 2
result2 := (5 + 3) * 2
fmt.Println("5 + 3 * 2 =", result1)
fmt.Println("(5 + 3) * 2 =", result2)

Şu çıktıyı verir:

5 + 3 * 2 = 11
(5 + 3) * 2 = 16

İlk ifadede, çarpma (*) toplama (+) işleminden daha yüksek önceliğe sahiptir, bu nedenle önce 3 * 2 hesaplanır. İkinci ifadede, parantezler varsayılan önceliği geçersiz kılarak 5 + 3 işleminin önce hesaplanmasını sağlar.

challenge icon

Görev

Başlangıç

Bu meydan okumada, Go'da operatör önceliğini anlamaya yönelik pratik yapacaksınız. Farklı değerlere sahip birkaç değişkeniniz var ve beklenen çıktıyı elde etmek için result değişkenindeki ifadeyi düzeltmeniz gerekiyor.

İfade şu anda yanlış parantez yerleşimine sahip. Göreviniz, ifadenin true olarak değerlendirilmesini sağlamak için doğru yerlere parantez eklemektir.

Kopya kağıdı

Operatör önceliği, bir ifade içindeki işlemlerin hangi sırayla gerçekleştirileceğini belirler. Daha yüksek önceliğe sahip işlemler, daha düşük önceliğe sahip olanlardan önce gerçekleştirilir.

Çarpma (*), toplama (+) işleminden daha yüksek önceliğe sahiptir:

result1 := 5 + 3 * 2  // 11'e eşittir (önce 3 * 2, sonra + 5)
result2 := (5 + 3) * 2  // 16'ya eşittir (önce 5 + 3, sonra * 2)

Varsayılan önceliği geçersiz kılmak ve işlemlerin sırasını kontrol etmek için parantez kullanın.

Kendin dene

package main

import "fmt"

func main() {
	// Bu değişkenler sizin için zaten ayarlandı
	a := true
	b := false
	c := true
	
	// TODO: Aşağıdaki ifadenin sonucunun true olması için parantez ekleyin
	// HINT: İfadenin true olarak değerlendirilmesi gerekiyor
	result := a && b || c
	
	// Aşağıdaki satırı değiştirmeyin
	fmt.Println(result)
}
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Temeller bölümündeki tüm dersler