skip to Main Content
Operatörler

Operatörler

Operatörler sayısal ya da mantıksal değerler arasında işlem yapılmasını sağlayan sembollerdir. Operatörler tüm dillerde kullanılan bir özelliktir. Operatörleri görevlerine göre maddeler halinde inceleyeceğiz.

Aritmetiksel Operatörler(+, – , -deger, *, /, ~/, %)

Matematiksel işlemlerde kullanılan operatörlerdir.

print(1 + 4); // Çıktı: 5
print(4 - 5); // Çıktı: -1
print(4 * 3); // Çıktı: 12
print(5 / 2); // Çıktı: 2.5
print(10 ~/ 4); // Çıktı: 2
print(7 % 3); // Çıktı: 1

// Dart dili prefix(ön ek) ve postfix(son ek) artış/azalışı destekler. (++var, --var, var++, var--)
// Aşağıdaki örneği yararlı olacağını düşündüğüm için dart programlama sitesinden aldım.

var a, b;

a = 0;
b = ++a; // Önce a değerini arttır, sonra b değerine ata.
assert(a == b); // 1 == 1

a = 0;
b = a++; // Önce a değerini b değerine ata, sonra a değerini arttır.
assert(a != b); // 1 != 0

a = 0;
b = --a; // Önce a değerini azalt, sonra b değerine ata
assert(a == b); // -1 == -1

a = 0;
b = a--; // Önce a değerini b değerine ata, sonra a değerini azalt.
assert(a != b); // -1 != 0

Eşitlik ve İlişkisel Operatörler(==, !=, >, <, >=, <=)

Bu operatörlerde ise iki değerin eşitlik/değillik, büyüklük/küçüklük kontrolleri yapılır.

print(3==3); // Çıktı: true
print(5!=3); // Çıktı: true
print(1>3); // Çıktı: false
print(8<3); // Çıktı: false
print(3>=3); // Çıktı: true
print(3<=1); // Çıktı: false

Tür Test Operatörleri(as, is, is!)

Bir değişkenin türünün kontrolü için kullanılan ifadelerdir. Örneğin bir yazı değişkenimiz var fakat bunun yazı türünde bir değişken olduğunu bilmiyoruz. Başka yerlerde bunu yazı olarak kullanmak istiyoruz. Hata almamak için bu değişkenin türünü teyit etmemiz gerekmektedir. (“Yazı” is String) şeklinde bir tanımlama yaparız. Bu ifade bize true yada false olarak boolean bir değer döndürür.

Aşağıdaki örneğimizde text ifadesinin uzunluğunu yazdıran bir fonksiyonumuz mevcut. Fakat gönderilen parametre türü “var” türünde olduğu için, bu ifadenin uzunluğunu veren fonksiyonu mevcut değildir. Biz burada önce türünün yazı olduğunu kontrol ediyoruz. Ardından as ile bu türün yazı olduğunu ve alt özelliklerini kullanabileceğimizi söylüyoruz. Doğrudan as ifadesini kullanmış olsaydık, tür int bir değer geldiğinde hata alacaktık.

printTextLength(dynamic text) {
  if(text is String) {
    print((text as String).length);
  }
}

// Kullanımı
printTextLength("İzzet Öztürk");

Atama Operatörleri

Bu operatörler bir değişkene değer atama işlemlerinde kullanılır. Normal değer atama işlemleri = ile yapılmaktadır. = ifadesinin başına diğer operatörleri ekleyerek basit ve hızlı atama işlemleri mevcuttur.

var a = 5;
var b = 3;

a ??= b; // Eğer a'nın değeri null ise, b'nin değerini a'ya ata. Çıktı: a=5, b=3
a *= 5; // a = a * 5; ile aynı ifadedir. a değerini 5 ile çarpıp kendisine atar. Çıktı: a=25
a %= 2; // a = a % 2; ile aynı ifadedir. a değerinin 2 ile modunu alıp, a değerine atar. Çıktı: a=1

Mantıksal Operatörler(!ifade, &&, ||)

Ve, veya kapıları ile ifade edilen mantıksal operatörlerdir. Boolean değerlerini birleştirip tek bir ifade orataya çıkartabilirsiniz.  !ifade şeklindeki yapı, mevcut ifadenin tersini alır. Yani boolean ifadenin değeri true ise false olur. && ifadesi logic olarak ve kapısına denk gelmektedir. || ifadesi ise veya kapısına denk gelmektedir.

int a = 5;
int b = 3;
bool boolean = false;
  
if(!boolean && (a == 5 || b == 8)) {
    print("Success");
}

// Çıktı: Success

Bir cevap yazın

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