Java Dersleri (Bölüm 3)

Pardus-Linux.org | Wiki sitesinden

Git ve: kullan, ara

Ö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ı:

Resim:Bluej2_3.jpg

Ş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ı:

Resim:Bluej3_1.jpg

Bu kodu da daha önce anlattığım şekilde test ederseniz aynı şekilde çalıştığını görürsünüz:

Resim:Bluej2_4.jpg

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.

Resim:Bluej3_2.jpg

Çü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:

Resim:Bluej3_3.jpg

Ö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ı.

Resim:Bluej3_4.jpg

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.