Mobil Programcılık ✓DART |2|

TebriZz

Üye
7 Nis 2020
152
1
İskenderun


qvNWlk.png


Merhaba arkadaşlar

Bu gün bu konumda Dart programlama dilinde sayısal değişkenler kavramını lanse edeceğim hiç beklemeden konuya geçeyim


Sayısal değişkenler, sayısal tipteki verileri tutarlar. Sayısal değer tutabilen veri tipleri:

•int

•double

•num

•var

•dynamic

İnt
nno2Ep.gif


Tıpkı String değişkenler gibi tanımlanırlar. Ama artık başına String yerine sayısal değişken türünü yazmamız gerekir. Sayısal değişkenler tırnak işaretleri arasına yazılmazlar. Eğer yazılırlar ise program onları String sanır.


Önce değişken türü, sonra değişken adı yazılır ve = (eşittir) operatörü ile değer atanır.

int Tam sayı türünde değerler tutar.

Kod:
int sayi1 = 5;

int sayi2 = 992;

Double
nno2Ep.gif


double Ondalıklı sayıları tutar. Ondalıklı sayıların ondalıklı kısmını virgülle değil, nokta ile yazarız.

Kod:
double sayi1 = 10.0;

double sayi2 = 109.13;


double türü tam sayı da tutabilir. Çünkü tam sayılar sonlarına sıfır alabilir. 11 sayısı 11.0 ya da 11.00 ya da 11.0000000000 gibi pratikte sınırız (teorikte sınırlı) sıfır alacak şekilde yazılabilir.

Kod:
double sayi3 = 11;

Num
nno2Ep.gif


Dart dilinde diğer sayısal değişkenler num sınıfından türetilmiştir. Bu yüzden hem tam sayı hem de ondalıklı sayıları tutabilir.

Kod:
num sayi1 = 48;

num sayi2 = 11.01;

Var
nno2Ep.gif


Her türden değer tutabilen var ifadesini String değişkenlerde görmüştük. Değişkene ilk atanan değeri esas alarak değişken tipini otomatik olarak belirler. Değişken tanımlandığında hangi türden veri atanmışsa, değeri değiştiğinde de aynı türden bir değer verilmelidir.

Double değer verilmiş ise, yeni değer ataması yapıldığında da aynı türden bir değer vermeliyiz.

Kod:
var sayi1 = 48.12;

sayi1 = 3;

print(sayi1);

Değişkenimiz ilk atamada double değer aldığı için artık double olarak tanınacak.

double değişkenler tam sayı da tutabileceği için 3 değerini verebildik.

Konsol çıktısı:

Kod:
3

Dynamic
nno2Ep.gif


Joker değişken tipimizdir. var bildirimini String değişkenlerden biliyorsunuz. Ancak dynamic değişkeni ilk kez göreceksiniz. Eğer değişkene atacak değerin tipi sürekli değişecekse veya özel bir sebepten dolayı üretilen ve atanan değişken türünü bilemiyorsak dynamic değişken tipini kullanıyoruz.

Kod:
dynamic sayi1 = 48;

sayi1 = 6.12;

sayi1 = '12';

sayi1 = 'yeşil';

print(sayi1);

Konsol Çıktısı:

Kod:
yeşil


Peki dynamic bu kadar kullanışlı ise neden hep onu kullanmıyoruz! Dart kaynakları bize değişken tipini kesin olarak biliyorsanız var bildirimini ve dynamic'i tercih etmeyin diyor. Bunun; değişken türlerinin hafızada kapladıkları alan, değişkenlerin çalışma biçimleri ve de kodları okurken program hakkında daha hızlı fikir edinmek ile ilgili bazı sebepleri var.


Tek bir satırda, aralarına virgül konarak aynı türde birden fazla değişken tanımlanabilir. Değişken türünü bir kez yazmamız yeterli olur. Sonra satır noktalı virgülle kapatılır.

Kod:
int sayi1 = 12, sayi2 = 14, sayi3 = 9;

Daha önceden de bildiğimiz gibi değişkenleri tanımladığımız anda değer atamayabiliyoruz. İstersek bu atama işlemini daha sonra yapabiliyoruz.

Kod:
double sayi1, sayi2, sayi3;
sayi1 = 5;


print(sayi1);

Konsol Çıktısı:

Kod:
5

String bir ifadeyi sayısal türe çevirebiliyoruz. Bunu hesap makinesi uygulamamızı yaparken kullanacağız.

Önce dönüştürmek istediğimiz türü yazıyoruz. Sonra nokta koyup parse yazıyoruz ve parantez açıp içine String değişkenimizin adını yazıyoruz. Aşağıdaki şekillerde olabilir.

Kod:
double.parse(degisken1);

int.parse(degisken2);

num.parse(degisken3);


Dönüşümü yaptığımızda onu kullanabilmek için bir değişkene atamamız ya da direkt print ile yazdırmamız gerekiyor. Yoksa hafızada tutulmuyor.

Kod:
String degisken1 = '5.1';

double degisken2 = double.parse(degisken1);

print(degisken2);

Sayısal türler de String'e çevrilebilir. Değişken adını yazıp nokta koyarak toString() yazıyoruz.

Dönüşümü yaparak direkt yazdırabiliyoruz. Örneğin:

Kod:
double sayi1 = 10;
print("merhaba" + sayi1.toString());
Ya da bir değişkene atayarak sonra kullanmak üzere saklayabiliyoruz.
Başka bir örnek:

Kod:
double sayi2 = 5.1;
String metin1 = sayi2.toString();
print("merhaba" + metin1);

Fonksiyon İçinde Sayısal Değişkenler
nno2Ep.gif



İki sayısal değişken belirleyelim.

Kod:
num sayi1 = 5;
num sayi2 = 4.1;

Bu iki sayıyı toplayıp sonucu konsola yazdıran bir fonksiyon yazalım.

Kod:
sayiTopla(){
 print(sayi1+sayi2);
}

Fonksiyonumuzu çağıralım.

Kod:
sayiTopla();

Konsol Çıktısı:

Kod:
9.1

Birazcık daha zor bir şey yapalım. Algoritma becerilerimizi de geliştirmeye başlayacak ufak bir çalışma. İki sayısal değişkenimiz olsun ve biz bu sayısal değişkenlerin değerlerini birbirleriyle değiştiren bir fonksiyon oluşturalım.

Kod:
int sayi1 = 5;
int sayi2 = 10;
int sayi3;

Değişkenlerimizi tanımladık. Ayrıca torba görevi görecek üçüncü bir değişken daha tanımladık. Şimdi fonksiyonumuzu yazalım.

Kod:
fonk1(){
    sayi3 = sayi1;
    sayi1 = sayi2;
    sayi2 = sayi3;
}

Fonksiyonumuzu yazdık. Sırasıyla şu işlemleri yaptırdık:

Önce sayi1'in değerini sayi3'e atayarak sakladık.

Sonra sayi1'e yeni değer olarak sayi2'yi ataydık.

sayi2'ye de torbada sakladığımız değeri atadık. Fonksiyonumuzu çağıralım ve yeni değerleri yazdıralım.

Kod:
fonk1();
print("sayı1: $sayi1);
print("sayı2: $sayi2);

Konsol Çıktısı:

Kod:
sayı1: 10

sayı2: 5

Şimdi de tür dönüşümünü otomatikleştiren bir fonksiyon hazırlayalım. Önce bir string değişken ve yeni değeri atayacağımız bir double değişken tanımlayalım.

String degisken1 = '54.122';
double sayi1;
Şimdi fonksiyonumuzu yazalım.

Kod:
fonk1(){
    sayi1 = double.parse(degisken1);
    print("Tür dönüşümü yapıldı.");
}

Artık çağrıldığında tür dönüşümünü yapıp yeni değeri değişkenin kendisine atayarak kullanıcıya konsolda bununla ilgili bilgi veren bir fonksiyonumuz oldu.

Kod:
fonk1();

Konsol Çıktısı:

Tür dönüşümü yapıldı.

Konumuzun sonuna geldik arkadaşlar esen kalın.

 

DarkHawk06

Uzman üye
12 Şub 2016
1,046
8
Pandora
Ellerinizle sağlık bunun ardından flutter ile program da gelirse tadından yenmez. Mobil uygulama yapmak isteyen arkadaşlar bu dil altın niteliginde kesinlikle araştırmalı diye düşünüyorum.
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.