void main() {
/*bu derste de integer dart için int olan veri tipinin yani tam sayıları
belleğe aldığımız veri tipidir bu, özellik ve metodlarına bir göz atalım.
özellik bu şekilde > değişkenAdi.özellik
metod bu şekilde > değişkenAdi.metot()
*/
int sayi = 10;
//sayımız çift ise true değilse false döner.
print("Sayımız çift midir? > ${sayi.isEven}"); // True
//sayımız tek ise true değilse false döner.
print("Sayımız tek midir? > ${sayi.isOdd}"); //False
//değişken tipimizi dönüyor.
print("Veri Tipimiz > ${sayi.runtimeType}"); // int
//girilen sayı negatif ise -1 sıfır ise 0 ve pozitif ise 1 çıktısını verir.
print("sayımız negatif ise -1, sıfır ise 0 ve pozitif ise 1 > ${sayi.sign}");
// 1
//sayımız negatif mi? true yada dalse döner.
print("Sayı megatif mi? > ${sayi.isNegative}"); // false
/* sonuc.isNaN özelliğine bakıcaz.bu özellik değerimizin belirsiz olup
olmadığını kontrol ediyor. matetiksel olarak üç sonuç alma durumumuz var.
sayı bölü sayıdan sonuç sayıdır.
sayı bölü sıfırdan sonuç sonsuzdur.
sıfır bölü sıfıdan sonuç belirsiz. yani NaN.
üç durumada aşağıda bakıyoruz.
Bazı durumlarda sonucun belirsiz olup olmadığını kontrol etmek gerekebiliyor.
böyle durumlar için kullanılabilir. sonucu true yada false olarak dönüyor.
*/
int bes = 5;
int sifir = 0;
double sonuc;
sonuc = bes / bes;
print("5/5 sonucu > $sonuc"); //işlem sonucu 1
print(sonuc.isNaN); //NaN durumu false
sonuc = bes / sifir;
print("5/0 sonucu > $sonuc"); //işlem sonucu Infinity
print(sonuc.isNaN); // NaN durumu false
sonuc = sifir / sifir;
print("0/0 sonucu > $sonuc"); //işlem sonucu NaN
print(sonuc.isNaN); //Nan durumu sonucu true
//şimdide metodlara bakalım...
//sayi.abs() sayımızın mutlak değerini verir.
print("Sayımızın mutlak değeri > ${sayi.abs()}"); // 10
/*
ondalik.ceil() girilen sayıdan büyük ilk tam sayıya yükseltir.
ondalik.floor() girilen sayıdan küçük ilk tam sayıya düşürür */
double ondalik = 99.3;
print(ondalik.ceil()); //100
print(ondalik.floor()); //99
/* .clamp() metoduna bakalım. .clamp( minimum değer, maksimum değer)
bu metodda bize gelen veriyi kısıtlayabiliyoruz. diyelim işlediğimiz verinin
bir alt birde üst sınırı var. seçici olmak istiyoruz.
clamp içinde biz minimum ve maksimum değer aralığımızı belirliyoruz.
gelen değer bizim verdiğimiz aralıkta ise sorun yok onu işleme alıyoruz.
gelen değer bizim alt sınırımızın altında ise minimum değer işleme girer.
gelen değer üst sınırdan yukarda ise bizim maksumum değerimiz işleme girer.
aşağıdaki örneklerle daha kolay anlaşılacaktır.
*/
var deger;
deger = 7;
print(deger.clamp(1, 10.0)); // 7
//değer aralığımızda olduğu için direkt 7 gelir.
deger = 10.5;
print(deger.clamp(5, 10.0)); // 10.0
//değer üst sınırdan yukarda olduğu için bizim maksimum değer gelir. 10.0
deger = 0.75;
print(deger.clamp(5, 10.0)); // 5
//değer alt sınırdan aşağıda olduğu için bizim minimum değer gelir. 5
deger = -10;
print(deger.clamp(-5, 5.0)); // -5
//değer negatif olarak alt sınırdan aşağıda olduğu için bizim min değer gerlir.-5
deger = -0.0;
print(deger.clamp(-5, 5.0)); // -0.0 özel durum.
//değer -0.0 olduğu için kendisini çıktı veriyor. tam nedenini bilemiyorum :)
/* dart core da böyle açıklamışlar.
The comparison is done using compareTo and therefore takes -0.0 into account.
This also implies that double.nan is treated as the maximal double value.
türkçesi:
Karşılaştırma, CompareTo kullanılarak yapılır ve bu nedenle -0.0 dikkate alınır.
Bu aynı zamanda double.nan'ın maksimum çift değer olarak ele alındığı anlamına gelir.
*/
/* numara.compareTo(other); bakıcaz. stringde baktık aynı metoda. aynı mesele.
compare dizileri karşılaştırıp bize durum bilgisi dönüyor. döndüğü bilgi
alfabetik olarak büyüklük bilgisi aslında. burda da üç değer dönüyör.
değişken değerimiz büyükse 1 eşitse 0 küçükse -1 değerini dönüyor.
aşağıda int değeri yaprık. Daha iyi anlayalım diye. */
int numara = 2;
print(numara.compareTo(1)); //1
print(numara.compareTo(2)); //0
print(numara.compareTo(3)); //-1
/* sayimiz.gcd(other) iki sayının en büyük ortak bölenini bize bulan metoddur.
verimizle sabit bazı sayıları deneyelim. her örnekte yaprığımız gibi. other
kısmına diğer sayıyı yazıcaz.yada print içinde o anda aklımıza gelen sayılarıda
kullanabilir. */
int sayimiz = 20;
print(sayimiz.gcd(10)); //10
print(sayimiz.gcd(100)); //20
print(10.gcd(12)); //2
print(10.gcd(0)); // sıfırla bir sayıyı bakarsak sayının kendisini verir. 10
print(15.gcd(0)); //15
print(0.gcd(0)); // 0
/*
usluModAlma.modPow(exponent, modulus) bu metod ise sayımızın üssünü alıp sonra
modunu alıyor. mod biliyorsunuz sıfıra bölümünden kalanı verir.
üs olarak 1 yazarsanız direkt sayımızın modunu almış olursunuz. çünkü bir sayının
1.üssü kendisine eşittir :) exponent üs demek zaten. ilk değer üs ikinci değer
olarak ise modu giriyoruz.
bu index değerlerimizi değişkenler olarak da kullanabiliriz. şimdi üs değerimizi
bir olarak sabitlicem ve ilk indeximize us olarak girecem. değişken olarak yani.
direkt sayı girmemiş olacaz.
*/
int us = 1; //üssümüzü 1 alacağız.
print(15.modPow(us, 2)); //1
print(20.modPow(us, 2)); //0
//bir tane de üs alarak yapalım
print(10.modPow(2, 3)); //1 burda 10un karesi mod 3 olmuş oldu. 100%3=1
print(100.modPow(us, 3)); //1 yukardakinin aynısı.
//çift değişlkenli bakalım birde.
int usluModAlma = 10;
print(usluModAlma.modPow(us, 4)); //2
/*bol.remainder(other) burada int girersek sonuç int double girersek sonuç
double olur. */
double bol = 22;
int boz = 21;
print(bol.remainder(7)); //1.0
print(10.remainder(4)); //2 tip belirtmedik mi direk int olur değerimiz.
bol = 13;
print(bol.remainder(7)); //6.0
print(boz.remainder(2)); //1
/*yuvarla.round() ve yuvarla.roundToDouble()
sayıları yuvarlamak için round metodu var. round int olarak yuvarlama yapıyor
roundToDouble ise double yuvarlıyor. yani sonuna bir sıfır atıyor. buçuk ve
üstünü yukar buçuktan altını aşağıya yuvarlıyor paşam :) */
double yuvarla = 25.6;
num yuvarlak = 25.4;
print(yuvarla.roundToDouble()); //26.0
print(yuvarlak.round()); //25
/*int dönüşümlerine bakalım. veri tipi dönüşümü */
int tamSayi = 10;
//tamSayi.toString() metoduyla değişkenimizi string yapıyoruz.
//string yapınca doğal olarak altta gördüğünüz gibi stringle toplayabiliyoruz.
print("şimdi yanına int topla" + tamSayi.toString());
double ondalikSayi = 10.355;
print(ondalikSayi.toInt()); //10
//burda double bir değeri ondalikSayi.toInt() ile int değere dönüştürüyoruz.
print((tamSayi * ondalikSayi).toInt()); //103
//burada ise normalde 103.55 olması gereken sonucu yani double sonucu inte çevirdik.
}
void main() {
/*bu derste de integer dart için int olan veri tipinin yani tam sayıları
belleğe aldığımız veri tipidir bu, özellik ve metodlarına bir göz atalım.
özellik bu şekilde > değişkenAdi.özellik
metod bu şekilde > değişkenAdi.metot()
*/
int sayi = 10;
//sayımız çift ise true değilse false döner.
print("Sayımız çift midir? > ${sayi.isEven}"); // True
//sayımız tek ise true değilse false döner.
print("Sayımız tek midir? > ${sayi.isOdd}"); //False
//değişken tipimizi dönüyor.
print("Veri Tipimiz > ${sayi.runtimeType}"); // int
//girilen sayı negatif ise -1 sıfır ise 0 ve pozitif ise 1 çıktısını verir.
print("sayımız negatif ise -1, sıfır ise 0 ve pozitif ise 1 > ${sayi.sign}");
// 1
//sayımız negatif mi? true yada dalse döner.
print("Sayı megatif mi? > ${sayi.isNegative}"); // false
/* sonuc.isNaN özelliğine bakıcaz.bu özellik değerimizin belirsiz olup
olmadığını kontrol ediyor. matetiksel olarak üç sonuç alma durumumuz var.
sayı bölü sayıdan sonuç sayıdır.
sayı bölü sıfırdan sonuç sonsuzdur.
sıfır bölü sıfıdan sonuç belirsiz. yani NaN.
üç durumada aşağıda bakıyoruz.
Bazı durumlarda sonucun belirsiz olup olmadığını kontrol etmek gerekebiliyor.
böyle durumlar için kullanılabilir. sonucu true yada false olarak dönüyor.
*/
int bes = 5;
int sifir = 0;
double sonuc;
sonuc = bes / bes;
print("5/5 sonucu > $sonuc"); //işlem sonucu 1
print(sonuc.isNaN); //NaN durumu false
sonuc = bes / sifir;
print("5/0 sonucu > $sonuc"); //işlem sonucu Infinity
print(sonuc.isNaN); // NaN durumu false
sonuc = sifir / sifir;
print("0/0 sonucu > $sonuc"); //işlem sonucu NaN
print(sonuc.isNaN); //Nan durumu sonucu true
//şimdide metodlara bakalım...
//sayi.abs() sayımızın mutlak değerini verir.
print("Sayımızın mutlak değeri > ${sayi.abs()}"); // 10
/*
ondalik.ceil() girilen sayıdan büyük ilk tam sayıya yükseltir.
ondalik.floor() girilen sayıdan küçük ilk tam sayıya düşürür */
double ondalik = 99.3;
print(ondalik.ceil()); //100
print(ondalik.floor()); //99
/* .clamp() metoduna bakalım. .clamp( minimum değer, maksimum değer)
bu metodda bize gelen veriyi kısıtlayabiliyoruz. diyelim işlediğimiz verinin
bir alt birde üst sınırı var. seçici olmak istiyoruz.
clamp içinde biz minimum ve maksimum değer aralığımızı belirliyoruz.
gelen değer bizim verdiğimiz aralıkta ise sorun yok onu işleme alıyoruz.
gelen değer bizim alt sınırımızın altında ise minimum değer işleme girer.
gelen değer üst sınırdan yukarda ise bizim maksumum değerimiz işleme girer.
aşağıdaki örneklerle daha kolay anlaşılacaktır.
*/
var deger;
deger = 7;
print(deger.clamp(1, 10.0)); // 7
//değer aralığımızda olduğu için direkt 7 gelir.
deger = 10.5;
print(deger.clamp(5, 10.0)); // 10.0
//değer üst sınırdan yukarda olduğu için bizim maksimum değer gelir. 10.0
deger = 0.75;
print(deger.clamp(5, 10.0)); // 5
//değer alt sınırdan aşağıda olduğu için bizim minimum değer gelir. 5
deger = -10;
print(deger.clamp(-5, 5.0)); // -5
//değer negatif olarak alt sınırdan aşağıda olduğu için bizim min değer gerlir.-5
deger = -0.0;
print(deger.clamp(-5, 5.0)); // -0.0 özel durum.
//değer -0.0 olduğu için kendisini çıktı veriyor. tam nedenini bilemiyorum :)
/* dart core da böyle açıklamışlar.
The comparison is done using compareTo and therefore takes -0.0 into account.
This also implies that double.nan is treated as the maximal double value.
türkçesi:
Karşılaştırma, CompareTo kullanılarak yapılır ve bu nedenle -0.0 dikkate alınır.
Bu aynı zamanda double.nan'ın maksimum çift değer olarak ele alındığı anlamına gelir.
*/
/* numara.compareTo(other); bakıcaz. stringde baktık aynı metoda. aynı mesele.
compare dizileri karşılaştırıp bize durum bilgisi dönüyor. döndüğü bilgi
alfabetik olarak büyüklük bilgisi aslında. burda da üç değer dönüyör.
değişken değerimiz büyükse 1 eşitse 0 küçükse -1 değerini dönüyor.
aşağıda int değeri yaprık. Daha iyi anlayalım diye. */
int numara = 2;
print(numara.compareTo(1)); //1
print(numara.compareTo(2)); //0
print(numara.compareTo(3)); //-1
/* sayimiz.gcd(other) iki sayının en büyük ortak bölenini bize bulan metoddur.
verimizle sabit bazı sayıları deneyelim. her örnekte yaprığımız gibi. other
kısmına diğer sayıyı yazıcaz.yada print içinde o anda aklımıza gelen sayılarıda
kullanabilir. */
int sayimiz = 20;
print(sayimiz.gcd(10)); //10
print(sayimiz.gcd(100)); //20
print(10.gcd(12)); //2
print(10.gcd(0)); // sıfırla bir sayıyı bakarsak sayının kendisini verir. 10
print(15.gcd(0)); //15
print(0.gcd(0)); // 0
/*
usluModAlma.modPow(exponent, modulus) bu metod ise sayımızın üssünü alıp sonra
modunu alıyor. mod biliyorsunuz sıfıra bölümünden kalanı verir.
üs olarak 1 yazarsanız direkt sayımızın modunu almış olursunuz. çünkü bir sayının
1.üssü kendisine eşittir :) exponent üs demek zaten. ilk değer üs ikinci değer
olarak ise modu giriyoruz.
bu index değerlerimizi değişkenler olarak da kullanabiliriz. şimdi üs değerimizi
bir olarak sabitlicem ve ilk indeximize us olarak girecem. değişken olarak yani.
direkt sayı girmemiş olacaz.
*/
int us = 1; //üssümüzü 1 alacağız.
print(15.modPow(us, 2)); //1
print(20.modPow(us, 2)); //0
//bir tane de üs alarak yapalım
print(10.modPow(2, 3)); //1 burda 10un karesi mod 3 olmuş oldu. 100%3=1
print(100.modPow(us, 3)); //1 yukardakinin aynısı.
//çift değişlkenli bakalım birde.
int usluModAlma = 10;
print(usluModAlma.modPow(us, 4)); //2
/*bol.remainder(other) burada int girersek sonuç int double girersek sonuç
double olur. */
double bol = 22;
int boz = 21;
print(bol.remainder(7)); //1.0
print(10.remainder(4)); //2 tip belirtmedik mi direk int olur değerimiz.
bol = 13;
print(bol.remainder(7)); //6.0
print(boz.remainder(2)); //1
/*yuvarla.round() ve yuvarla.roundToDouble()
sayıları yuvarlamak için round metodu var. round int olarak yuvarlama yapıyor
roundToDouble ise double yuvarlıyor. yani sonuna bir sıfır atıyor. buçuk ve
üstünü yukar buçuktan altını aşağıya yuvarlıyor paşam :) */
double yuvarla = 25.6;
num yuvarlak = 25.4;
print(yuvarla.roundToDouble()); //26.0
print(yuvarlak.round()); //25
/*int dönüşümlerine bakalım. veri tipi dönüşümü */
int tamSayi = 10;
//tamSayi.toString() metoduyla değişkenimizi string yapıyoruz.
//string yapınca doğal olarak altta gördüğünüz gibi stringle toplayabiliyoruz.
print("şimdi yanına int topla" + tamSayi.toString());
double ondalikSayi = 10.355;
print(ondalikSayi.toInt()); //10
//burda double bir değeri ondalikSayi.toInt() ile int değere dönüştürüyoruz.
print((tamSayi * ondalikSayi).toInt()); //103
//burada ise normalde 103.55 olması gereken sonucu yani double sonucu inte çevirdik.
}
Share This
0 comments:
Soru, Görüş, Öneri ve Eklemek İstediklerinizi Yazabilirsiniz...