Ana içeriğe atla
Ana Sayfa

Ana menü

  • Anasayfa
  • Hakkımızda
  • Ürünler
  • Projeler
  • İletişim
  • Atölye
  • English
  • Turkish
Expression vs. Statement

‘Expression’ ve ‘statement’ kelimeleri pek çok kez karşımıza çıkan İngilizce kavramlar. Bu kavramlar, en son Kotlin öğrenmeye çalışırken ‘if as an expression’ (expression olarak if) ifadesinde karşıma çıktığında birçok Türk programcının yaptığı gibi Google çeviriye başvurdum ancak teknik bir kavram olduğundan ötürü pek de ipucu elde edemedim. Bu yazıda iki kavramı inceleyeceğiz ve farklarına değineceğiz. Bir medium makalesinde1 karşılaştığım tanımlar şu şekilde:

Statement, programlama dili tarafından işlenmesi gereken, programlama dilinin en küçük birimi olarak tanımlanıyor.

Expression ise bir ya da daha fazla değişkenden, operatörden (örn. +) veya fonksiyondan meydana gelen ve programlama dili tarafından yorumlandığında bir değer döndüren ifadelerdir.

Basit bir örnekle başlayalım:

“int a;” bir ‘statement’ iken “1 + 1” ifadesi bir ‘expression’dır. Çünkü ilk ifade bir değer dönmezken ikincisi 2 değerini dönmektedir.

Bir diğer örnek olarak if-statement bildiğimiz if-else bloklarına karşılık gelir.

if(a == 4) {

//Do something

}

Öte yandan ‘if-expression’ şu ifadenin adıdır.

a = b == 5 ? b:c;

Yukarıda verilen kod parçasında (C ve javascript dillerinde karşılaşılabilir) a’ya eşitlenme dışındaki kısım bir ‘expression’dır. ‘if-statement’ örneği herhangi bir değer döndürmezken, ‘if-expression’ örneği b, 5’e eşitse b’yi; değilse c’yi döndürecektir. Dönen değer ise a’ya eşitlenecektir.

Peki değişkene değer atama (yani ‘a = 5’ ifadesi) bir ‘expression’ mıdır yoksa bir ‘statement’ mıdır? Java ve C dillerinden örnek olarak görelim. ‘b = a = 5’ yazarsanız önce ‘a’ya 5 değeri atanır, daha sonra ‘a=5’ expression olduğundan 5 değerini döndürür ve bu değer de ‘b’ye atanır. Ya da C dilinde ‘printf(“%d”, (a=5)))’ yazarsanız 5 değeri output olarak ekrana yazılacaktır.

Son olarak şunu söylemek gerekir ki ‘expression’lar, tanımdan da anlaşılabileceği gibi birer 'statement’tır ya da bir ‘statement’ın parçalarıdır. Bu da demektir ki her 'expression' bir 'statement'tır fakat her 'statement' bir 'expression' değildir.

  • https://blog.kotlin-academy.com/kotlin-programmer-dictionary-statement-vs-expression-e6743ba1aaa0
  • https://stackoverflow.com/questions/46375122/is-variable-assignment-a-statement-or-expression
  • https://stackoverflow.com/questions/4728073/what-is-the-difference-between-an-expression-and-a-statement-in-python

Atölye

Mocha Js Test Framework’ü
Behavior Driven Development (BDD) Nedir ?
Expression vs. Statement
Veritabanı Yedeği Alan Script [BASH]
'Unable to load script from assets ‘index.android.bundle’ (React Native) hatasının çözümü
PostgreSQL Yedek Alma(Backup) ve Kurma(Restore)
Drupal Console ile Drupal 8 İçin Gereken Modül Yapısının Kurulması
Windows İçin Türkçe Drupal 7 Kurulumu
Cordova Android Facebook Login İşlemi
Çalışan bir Drupal 7 sitesinin MySql’den Postgresql’e geçirilmesi
JAVA7'de Callback Oluşturma
Drupal Genel Bigiler
Angular 6 ile Proje Oluşturma ve Servislere Bağlanma

TURNA TEKNOLOJİ ANONİM ŞİRKETİ

Teknopark Ankara Teknoloji Geliştirme Bölgesi

2224. Cd. No:1/C619 Yenimahalle ANKARA

 

Telefon: 0 312 504 29 40

Eposta: info@turnateknoloji.com

Fax: 0 312 504 29 40

Ana menü

  • Anasayfa
  • Hakkımızda
  • Ürünler
  • Projeler
  • İletişim
  • Atölye

waiting waiting waiting

TURNA TEKNOLOJİ ANONİM ŞİRKETİ © 2020