Java Dersleri (Bölüm 3)
Pardus-Linux.org | Wiki sitesinden
Önceki derste kaldığımız yerden devam ediyoruz.
Bu derste bir diğer döngü olan do-while döngüsünü göreceğiz ve type casting kavramını inceleyeceğiz.
Do-while döngüsü
Öncelikle son derste yaptığımız InputTest class'ını açıyoruz. Şöyle görünüyor olmalı:
Şimdi do-while döngüsünün nasıl işlediğini öğrenelim. Bir do-while döngüsü while içinde belirtilen durum gerçekleşene kadar devam eder. Temel olarak şuna benzer:
do{
// çalışacak kodlar
} while (koşullar);
Şimdi InputTest class'ımızın kodlarını for döngüsü yerine do-while kullanacak şekilde değiştirelim.
Öncelike for döngüsünden hemen önce i adlı değişkenimizi tanımlıyoruz:
int i=0;
for (int i=0; i<10; i++)
satırını
do
ile değiştiriyoruz.
Döngünün içinde son satırdan sonra i değişkenini bir arttırıyoruz:
i++; (ya da i=i+1)
Son olarak do etiketinin kapandığı yere şunu ekliyoruz:
while(i<10);
Compile tuşuna bsıyoruz.
Son hali aşağıdaki gibi olmalı:
Bu kodu da daha önce anlattığım şekilde test ederseniz aynı şekilde çalıştığını görürsünüz:
Type Casting
Type Casting bir değişkenin türünü zorla değiştirmeye yarar. Normalde Java hatalı değişken tipleriyle işlem yapmaya çalıştığınızda hata verir.
Mesela;
String i = '0';
for (i=0; i<10; i++)
{
System.out.println("Birşeyler");
}
Bu kod hata verecektir. Çünkü her ne kadar i'nin değeri 1 olsa da burada 1 bir tam sayı değil bir metindir (string) ve döngüler sadece tam sayılar ile yapılabilir.
Şimdi type casting'e birkaç örnek verelim.
int sayi1 = 10;
int sayi2 = 3;
System.out.println("İşlemin sonucu: " + sayi1/sayi2);
Bu kodun oluşturacağı çıktı 3 olacaktır.
Çünkü Java tam sayı bölmesi yapmıştır ve bölmenin kalanı devre dışı kalmıştır. Fakat sayılar tam sayı değil de kesirli olursa (double) bu sorunla karşılaşmayız.
Bunun için kodumuzu şöyle değiştiriyoruz:
int sayi1 = 10;
int sayi2 = 3;
System.out.println("İşlemin sonucu: " + (double)sayi1/sayi2);
Ve alacağımız çıktı 3.3333333333333335 olacaktır:
Önemli!
(double) ifadesinin yeri çok önemlidir. Burada biz sadece sayi1 değişkenini tam sayıdan kesirli sayıya çevirdik, 10.0'ı bir tam sayı olan 2'ye böldük.
Eğer sayi1/sayi2 kısmını da ayrıca paranteze alsaydık Java öncelikle iki tam sayıyı birbirine bölecek, ondan sonra sonucu double'a çevirecekti. Bu durumda sonuç 3.0 olacaktı.
Bu dersimiz de bu kadar! Sorularınızı forumdaki başlıkta yazabilirsiniz. İyi eğlenceler :)
Bağlantılar
Bu yazı Java Dersleri serisinin bir parçası olarak Dreamcatcher tarafından hazırlanmıştır.
Önceki Bölüm : Java Dersleri (Bölüm 2)
Sonraki Bölüm: Java Dersleri (Bölüm 4)
Bu yazı Programlama bölümünün bir parçasıdır.






