void main() {
/*
kullanıcı adını alalım. Yevmiyesi 100 tl olsun. Ve parasına 10 tl mesai ücreti ekleyelim.
*/
/*
Aşağıdaki gibi print ile yaparsak bu işlemi bu hiç te düzgün yapılmış bir kodlama olmaz. Her seferinde ismi ve ücreti printin içine girip elle değiştirmek doğru bir kodlama olmaz. Printin içinde gördüğünüzdür çıktı :)
*/
print("Merhaba Mehmet"); //çıktı gördüğünüzdür :)print("Mesai Ücretiniz 110 tldir"); //çıktı gördüğünüzdür :)
/*
Yukarıdaki işlemin yerine kullanıcı adını, mevcut parayı ve eklenecek mesai ücretini uygun birer değişken olarak belirleyip print ile işlemi gerçekleştirebiliriz. Toplama işlemini print içinde yapabildiğimiz gibi print öncesinde toplamayı yapıp direkt sonucu da yazdırabiliriz. Burada her bir değişkenin değeri elle giriliyor veya databaseden geliyor olabilir. Değişken mantığını burada kullanacağız.
*/
String userName = "Ali";
int maas = 100;
int mesai = 10;
int toplam;
/*
Yukarda kullanıcı adını String olarak tutacağız. maas mevcut maaşımız, mesai ek kazanç ve toplam da sonuçtaki kazancımız olacak ve int olarak bunları tutalım. Üç tanesinin ilk değerlerini de giriyoruz bu arada.
*/
/*
Aşağıda bir değişken içerisine diğer iki değişkenin toplamını atıyoruz. Eşittir operatörü atama işlemi sağlıyor. Sağdaki değeri veya işlemin sonucunu soldaki değişkene atıyor. Bu değer(ler) ister text olsun, ister sayı isterse de değişken içinde bulunan veriler olsun (tipi fark etmez) atama işlemi gerçekleşir. Hikaye olarak kişinin maaşına mesai ücretini ekleyip toplam değişkenine atıyoruz.
*/
toplam = maas + mesai;
/*
Aşağıda bir kişi için işlem yapıyoruz ama şöyle bir senaryo düşünülebilir. İsim para ve mesai değerleri 10 bin çalışnı olan bir şirket için döngü halinde veri tabanından geliyor olabilir. Her bir kayıt için bir print yazmıyoruz. Tek bir satırla (muhakkak bir döngü eklenecektir, onlara ilerde değineceğiz inş.) 10 bin veriyi ekrana basıyoruz. Milyonlarca veride olabilir. Big data bile olabilir :) Hiç fark etmez.
Bir kullanıcının interpolasyon kullanımlarıyla son gelirini ekrana yazıyoruz. Detaylı bakarsak "Merhaba Toplam Paranız"
print içindeki sabitlerimiz. Bunlar print her çalıştığı zaman ekrana
basılacak kelimeler diyebiliriz. İşin güzel tarafı $userName ve $toplam ise değişkenlere bağlı olan değerler. Bu şekilde yapınca bir yazı kalıbımız oluyor ve bunu tüm personelimiz için kullanabiliyoruz. Döngülerle tabi.
print içindeki sabitlerimiz. Bunlar print her çalıştığı zaman ekrana
basılacak kelimeler diyebiliriz. İşin güzel tarafı $userName ve $toplam ise değişkenlere bağlı olan değerler. Bu şekilde yapınca bir yazı kalıbımız oluyor ve bunu tüm personelimiz için kullanabiliyoruz. Döngülerle tabi.
*/
print("Merhaba $userName Toplam Paranız $toplam"); //Merhaba Ali Paranız 110.0
/*
Şimdi de bir değişkene değer eklemenin bir iki yoluna bakalım. Bunlara ilerde operatörler konusunda bakacağız ama kısa bir selam atalım buradan. Farklı zamanlarda yapılan tekrarlar öğrenmeyi olumlu yönde etkiler.
*/
/*
Aşağıdaki koda bakalım. int türünde x isminde bir değişken tanımlayıp aynı satırda ona 10 değerini girdik. Sonra print ile x değerini ekrana yazdırdık. Sonrasında X=X+10; dedik. Burada olan şey şudur. Önce eşittirin sağındaki işlem gerçekleştirilir. Nedir o x + 10. Yani x'in değerine 10 ekle demektir. X'in değerine 10 eklenir. İşlem bitti mi. Evet. Sağ tarafta ne kadar işlem varsa önce onların hepsi biter. Şimdi ne olacak. Sonra bu toplamı soldaki değişkene ata. Soldaki değişken nedir. O da X'tir. Fark etmez. Bu atama işlemi gerçekleşti mi ne oluyor. X in yeni değeri 20 oluyor.
Sonra x+=10 dedik. Bu işlem üstteki işlemle aynı aslında. Burada da x değerine 10 ekleyip tekrar x değişkenine atıyoruz. Bunu da şöyle okuyabiliriz. x+=10 yani x değişkenine (+) ekle neyi eşittir(=) 10'u ekle.
Şu hataya düşmeyelim. X = x + 10'a. Normalde böyle bir şey mümkün değildir değil mi? Bir sayının kendisi 10 fazlasına eşit olmaz. İşte buradaki eşittir işaretinin mantığı atama işlemidir. Değer aktarmadır. Matematikteki gibi bir fonksiyonu yoktur. Bu yapılanlar sadece toplama işlemi için değil diğer işlemler içinde geçerlidir.
*/
*/
int x = 10;
print(x); //10.
x = x + 10; //x'e 10 ekleyip x'e atama yapıyoruz.
print(x); //20
x += 10; //x'e 10 ekleyip x'e atama yapıyoruz. Farklı gösterim.
print(x); //30
/*
Şimdi gelelim double değişkenine. Diyelim ki programda küsuratın çok önemli olduğu işlemler yapmamız gerekiyor. Yani ondalıklı sayılarla işlem yapacağız. Bu sefer kullanacağımız veri tipi double. int tam sayılar için kullanılıyordu.
*/
/*
Şimdi dairenin alanını bulan bir program yazalım. Aşağıdaki kod parçamızda üç değişken tanımlamamız gerekiyor. 1. değişkeni double
tanımladık çünkü pi sayısını kullanmamız gerekiyor. Pi sayısı küsuratlı bir sayı olduğu için double tanımladık. Ve aynı satırda değerini de girdik.
Sonrasında yarı çap için r değişkenini tanımlayıp 5 değerini verdik.
Sonucu hesaplamak içinde sonuc adında bir değişken tanımladık lakin bunu da double tanımladık ve değer girmedik ona. Değerini işlem yaparak kendisi hesaplayacak. Sonuç değişkenini double tanımladık çünkü tam sayı ile küsuratlı bir sayıyı çarptığımız zaman küsuratlı gelme olasılığı var. Bu yüzden sonuç küsuratlı olabileceği için ilgili değişken tipinin bunu desteklemesi gerekiyor. Bu sebeple
bizde sonucu double tanımladık.
bizde sonucu double tanımladık.
Sonra sonucu hesaplatıyoruz. Sonuç neye eşittir. Dairenin alanı pi çarpı r nin karesidir. pi*r*r diyoruz. r nin üzerine iki yazamadığımıza göre kareyi elde etmek için r yi iki kere çarpıma çarpım olarak sokuyoruz.
Sonra ise son adım ekrana sonucu yazdırmak kalıyor. Print içine tırnakla birlikte tek çift tırnak fark etmez işlemin sonucu yazıyoruz. Devamına ise $ işareti ile birlikte sonuc değişkeninin adını yazıyoruz. Bunu daha önce anlattım. Detaylı bakmak isteyen olursa bu konudan önceki yazıları tarasın.
Yapılan işlem kısaca şu. String bir ifadeye string olmayan bir ifadeyi ekliyoruz. $ işareti sonuc değişkeninin değerini stringe çevirip tırnakların içine yazmamıza ve diğer metinlerle toplamamıza kolaylık sağlıyor.
Bir soru olarak sonuç tam sayı da gelebilir. Neden illa double tanımladık. Çünkü yazılım için kesin şeyler olmak zorunda. İhtimal olarak kalsa, doğru ihtimal geldi tamam sorun yok ama ya diğer ihtimal gelirse. İşte orada program patlamasın diye bu tür işlemlerde olasılığa yer yoktur. Hem double değişken tipi tam sayıları da kapsadığı için tersi bir problem olmayacaktır.
*/
double pi = 3.14;
int r = 5;
double sonuc;
sonuc = pi * r * r;
print('İşlemin sonucu $sonuc'); //78.5
/*
Neden double diye mini bir örnek yapalım. r int bir değer. Onu direkt ikiye bölmeye çalışalım. Altta satır başındaki çift bölü işaretini kaldırdık mı satırın hata verdiğini görürsünüz. Diyor ki hatasında int bir değeri 2'ye bölüp int bir değişkene atayamam. Ne olur bunu benden isteme. Lütfen :)
*/
//r = r / 2;
/*
Biraz daha açacak olursak r int bir değer. Onu ikiye bölünce küsuratlı bir değer çıkma ihtimali olduğu için onu yapamam diyor sistem. Çözümü için 3 yol var. Ya r değişkenini double tanımlamak. Yada bölüden hemen önce alt tuşuna basılı tutarak 0126 yaparsak oraya bu ~ işaret gelir. Buda böl ve tam kısmı yaz demek. Bu sefer hata vermedi.
*/
r = r ~/ 2;
print(r); //2
/*Üçüncü yol ise .toInt() fonksiyonu. Aşağıda işlemi parantez içine alıp sonuna .toInt() deyince sonucu int'e çevir demiş olduk.
Bütün bu işlemleri int bir değişkene değer atayabilmek için yapıyoruz. Aslında şöyle desek daha doğru olur. Elimize bir değer geliyor ve bu mecburen double. Bir double değeri veya sonucu bir int değişkene atamak gerekiyorsa eğer bu değerin tam kısmını kullansak bize yeterliyse bu yollarla sayıyı int'e çevirmiş oluyoruz.
*/
*/
r = (r / 2).toInt();
print(r); //2
/*
Mesela değişkenlerde sonuc değişkeni double olarak tanımlandı. Biz int tanımlı bir değişkene double değer giremeyiz ama double tanımlanmış bir değişkene int yani tam sayı değer girebiliriz. Bunun sebebi aslında tam sayılar da ondalıklı sayılardır. Örneğin 20 =20.0 ikisi de 20 demektir. Tam sayılar ondalıklı olarak yazılabildiği için doğal olarak double da int sayıları tanımlayabiliriz.
*/
sonuc = 5; // Hata vermiyor. Double değişkene tam sayı değer atayabiliriz.
sonuc = 3.14e7;
/*
Double da yukarıdaki gibi bir atama yapmak mümkündür. Burada e 10 üzeri 7 demek oluyor. Sonucun 31400000.0 çıktığını göreceksiniz.
*/
print(sonuc); // 31400000.0
}
Sadece Kodlar
void main() {
print("Merhaba Mehmet"); //çıktı gördüğünüzdür :)
print("Mesai Ücretiniz 110 tldir"); //çıktı gördüğünüzdür :)
String userName = "Ali";
int maas = 100;
int mesai = 10;
int toplam;
toplam = maas + mesai;
print("Merhaba $userName Toplam Paranız $toplam"); //Merhaba Ali Paranız 110.0
int x = 10;
print(x); //10.
x = x + 10; //x'e 10 ekleyip x'e atama yapıyoruz.
print(x); //20
x += 10; //x'e 10 ekleyip x'e atama yapıyoruz. Farklı gösterim.
print(x); //30
double pi = 3.14;
int r = 5;
double sonuc;
sonuc = pi * r * r;
print('İşlemin sonucu $sonuc'); //78.5
//r = r / 2
r = r ~/ 2;
print(r); //2
r = (r / 2).toInt();
print(r); //2
sonuc = 5; // Hata vermiyor. Double değişkene tam sayı değer atayabiliriz.
sonuc = 3.14e7;
print(sonuc); // 31400000.0
}
https://gist.github.com/metulangu/f5da0bca9f2c7ccea1a4914d11783045
Categories:
Dart Programlama Dili
Index
0 comments:
Soru, Görüş, Öneri ve Eklemek İstediklerinizi Yazabilirsiniz...