Kişisel web sayfamda yazılım, teknoloji ve genel hayat hakkında paylaşımlar yapmayı hedefliyorum.

Expression vs Statement İkisi Arasındaki Farklar Nelerdir?

Hepinize merhabalar. Bu yazımda yazılım ile uğraşanların mutlaka duyduğu ve özellikle yeni başlayan arkadaşların kafalarını karıştıran bir deyimin expression olarak kullanımı ve statement olarak kullanımına değineceğim.

Öncelikle bu iki kelimenin anlamlarına bakalım.

  • Statement: İfade
  • Expression: İfade

“İyi de bu ne şimdi?” dediğinizi duyar gibiyim. Evet kelime anlamı olarak her ikisi bir deyimi ifade etmek anlamına sahiptir fakat programlama dillerinde küçük(!) bir fark bulunmaktadır.

Yazılan her kod ifadesi bir statement olarak kabul edilebilir. Programlama dilindeki yerine getirilmesi gereken herhangi bir komut, eylem, şart statement olmaktadır.

! Her expression bir statementtır fakat her statement bir expression değildir.

Yazılan kod ifadelerinde bir değer değiştirme, geriye bir değer döndürme barındırıyorsa bu satırlara expression denir.

  val versionName: String  //statement
  versionName = "Pie" // expression
  val versionNumber = 9  // expression 
  println("The version number of $versionName: $versionNumber")

Kotlinde diğer dillerden farklı olarak (Örn. Java) if- else blokları da statement olarak kullanılabilir. Javada doğrudan if else bloklarını değer elde etmek için kullanamazken ternary ( ? ) operatörü ile aynı sonucu elde edebiliriz.

// Kotlin
val a = readline()!!.toInt()
val b = readline()!!.toInt()
val maxValue = if (a > b) a else b 

//Değer Atamadan önce bir şeyler yapacaksak
val maxValueWithBraces = if (a > b) {
    print("Choose a")
    a
} else {
    print("Choose b")
    b

// Java
int max = (a > b) ? a : b;

Kotlinde if bloklarında olduğu gibi when bloklarını da expression olarak kullanarabiliriz.

val userGender = when (input) {
         0 -> GenderType.MALE
         1 -> GenderType.FEMALE
        else -> GenderType.OTHER
    }

Evet yazımız bu kadardı. Basit ama açıklayıcı olduğunu düşündüğüm örneklere yer verdim. Bir başka yazı ile görüşmek üzere…

Share

You may also like...

1 Response

  1. Haziran 1, 2020

    […] önce yayınladığım bir yazıda statement ve expression farkından bahsetmiştim. Kotlinde kontrol yapılarını geleneksel kullanımdan farklı olarak expression […]

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir