void main() {
/*
Atama Operatörleri
*/
// = eşittir
// sağdaki değeri soldaki değişkene aktar veya ata anlamında.
int a = 1; // int tipinde bir değişken tanımladık ve değerini 1 verdik.
//sağdaki 1 değerini eşittirin solundaki a değşkenine aktardık.
a = 2; // bu işlemi beğenmedik ve a değişkenine 2 değerini atadık.
// += artı eşittir
//a değişkenine 1 ekle ve tekrar a değişkenine aktar.
//a değişkeni 2 yidi. 2+1=3 oldu. bu 3 değerini a ya ata.
a = a + 1; //burda a 3 olmuştu.
//bunu yapmanın az da olsa kısa bir yolu
a += 1; // şöyle okunabilir. işaretlerin sağını solunu topla sola ata :)
print(a); //üstteki işlemden sonra a yı 4 olarak çıktı alıcaz.
//bu ifade a = a + 1; ile bu ifade a += 1; aynı işlemi yapıyor. iki ifadede de
//değişkene 1 ekleyip değişkene atıyoruz.
// -= eksi eşittir
int b = 10;
//şöyle okunabilir. soldan sağı çıkar sola ata.veya değişkene ata.
b -= 3; // bu aslında şunla aynı. b=b-3
print(b); //7
// *= çarpı eşittir
int c = 3;
c *= 5; //sağı solu çarp sola ekle. veya değişkene ata. Bu ifade c=c*5 demek.
print(c); //15
// /= bölü eşittir
double d = 20; //double verdik çünkü kalanlı çıkabilir diye.
//diceksiniz ben sayıları biliyorum kalanlı çıkmayacak neden illa double
//istiyor sistem.programcılıkta bir kural vardır. yazılım yaş tahtaya basmaz.
//temel prensipleri vardır ve bunlar hata olmasın diye konulmuştur.yarın o
//değişkeni başka bir sayıya bölmeyeceğinin garantisi yok :)
d /= 10; //solu sağa böl sola ata. aslında d = d/20 ile aynı şey.
print(d); //2.0
// ~/= tilda bölü eşittir
//arkadaşlar burda da double tanımladık mı hata alıyoruz. bilin bakalım neden.
//şimdi bölme işlemi var double olması gerekmez mi diyoruz ama tilda işareti
//bize tam sonuç dönecek. eee o zaman double olmaz ki. sonucumuz tam çıkacağı
//için biz burda int değişken tanımlıyoruz.
int e = 22;
e ~/= 7; //solu sağa böl sola ata. AMA tam kısmını ata.
//aslında d = d/20 ile aynı şey.
print(e); //3
// %= mod eşittir
int f = 21;
f %= 5; //solu sağdaki sayıya böl kalanı sola ata.
print(f); //1
// ??= soru işaretleri eşittir
//arkadaşlar bu işlem bir kontrol yapıyor aslında.
//soldaki değişken boş ise sağdaki değeri ona ata.
//eğer doluysa zaten bir değere sahipse hiç bir şey YAPMA. Anladın mı YAPMA :)
var g = 1; //g 1 değerine sahip
//g ??= 9; //soldaki boş ise sağdakini ona ata. AMA boş değil. g hala bir.
print(g); //1 // sonuç bir çıakcaktır. g değeri değişmedi.
//şimdi değişkenimizi null bırakalım ve o şekilde deneyelim. iki şekilde null
//yapabiliyoruz ve ikisine de bakalım.
//birde null a sonra değer atamak için var tipiyle tanımlanmasını istiyor.
//yine güvenlik gerekçesiyle tabi :)
var h; //h null dur yani bir değere sahip değil.
var i = null; //i null dur. değeri yok.
h ??= 999; //soldaki boş ise sağdakini ona ata. Boş ve atama gerçekleşecek.
i ??= 1000; //soldaki boş ise sağdakini ona ata. Boş ve atama gerçekleşecek.
print(h); //999
print(i); //1000
/* bu kontrolü şöyle düşünebiliriz. varsayılan değerimiz vardır. bir yerden
değer bekliyoruzdur. o değer gelirse ne ala. yok eğer gelmez ise varsaydığımız
değeri yapıştır gitsin.
kafadan örnek vereyim. hala saha rezervasyon programı yapıyosunuzdur.
24 saat öncesine kadar para yattıysa ne ala gelen değeri işle.
ilgili saati "ünili çocuklar" kiraladı.
ünili çocuklar text girdisi olsun. kiralayanların lakabı :)
yok eğer PARA YATMADIYSA varsayılan değeri yapıştır. ilgili saat
"ACİL KİRALANABİLİR" :)
*/
}
0 comments:
Soru, Görüş, Öneri ve Eklemek İstediklerinizi Yazabilirsiniz...