Java Dersleri (Bölüm 2)
Pardus-Linux.org | Wiki sitesinden
Önceki dersten kaldığımız yerden devam ediyoruz.
Bu bölümde kullanıcıdan veri almayı (input) ve döngüleri göreceğiz.
Bir önceki derste kullandığımız BlueJ Projemizi açıyoruz.
InputTest adlı yeni bir class oluşturuyoruz.
Burada 10. satırdan 32. satıra kadar olan kodları seçip siliyoruz (bir önceki derste yaptığımız gibi).
Aynı önceki derste yaptığımız gibi içi boş bir main method yazıyoruz.
Bu noktada tanışmamız gereken yeni bir Java class'ı var: Scanner.
Scanner class'ı en bsit tanımıyla kullanıcıdan veri almaya, dosyaların içinden veri okumaya yarar.
Java nesneye dayalı (object oriented) bir dildir. Bu yüzden class'ların kendileri değil, nesneleri kullanılır (instance).
Öncelikle Scanner class'ını kullanacağımızı belirtmeliyiz, bunun için kodumuzun en başında Java'nın util kütüphanesinde bulunan Scanner'ı import ediyoruz.
import java.util.Scanner;
Şimdi bir Scanner nesnesini nasıl oluşturduğumuza bakıyoruz.
Scanner input = new Scanner(System.in);
Bu kod başlangıçta karmaşık gelebilir, o yüzden tek tek inceliyoruz.
İlk Scanner kelimesiyle yaratacağımız nesnenin bir Scanner olduğunu belirtiyoruz.
input bizim bu nesneye verdiğimiz addır. Siz isterseniz ali, ahmet, hüseyin de diyebilirsiniz.
new ile bunun yeni bir nesne olacağını belirtiyoruz. Bazı durumlarda nesneden nesne de oluşturuluyor, o zaman new kullanılmıyor.
Scanner() ile Scanner class'ının constructor'ını çağırıyoruz. Constructor bir class'ı kullanarak nesne oluştururken yapılacakların yazdığı bir metoddur. Bu noktada detayları bizi ilgilendirmiyor.
System.in ise tıpkı System.out.println'da olduğu gibi System modülünün içinden in'i çağırıyor. Böylece bu Scanner nesnesinin input almada kullanılacağını belirtmiş oluyoruz.
Şimdi bu nesne ile kullanıcıdan nasıl veri alacağımızı görelim:
int rakam = input.nextInt();
Burada baştaki int alacağımız verinin bir tamsayı (integer) olacağını gösteriyor, rakam bizim verdiğimiz değişken ismi.
Önemli kısıma geldik. Burada input nesnesinin bir metodunu, nextInt metodunu çağırıyoruz. Yani bir Scannera ait metodu çağırıyoruz. nextInt() kullanıcının yazdığı tamsayayı almaya yarar.
Kodumuz bu aşamada şöyle görünmeli:
Şimdi kullanıcıdan bu veriyi isteme şeklimize gelelim. Aşağıdaki kodla kullanıcıya hangi veriyi istediğimizi söyleyebiliriz.
Bu koduint rakam = input.nextInt();
kodundan hemen önceye yazıyoruz.
System.out.print("Lütfen 0-10 aralığında bir tamsayı girin: ");
Kodumuz bu noktada şöyle olmalı:
Şimdi Döngüler konusuna giriyoruz. Java'da döngüler diğer dillerdekine benzer yapıdadır. Biz bu dersimizde for döngüsünü göreceğiz.
Temel olarak bir for döngüsü şu şekildedir:
for (int i=0; i<10; i++)
{
// Döngüde çalışacak kodlar
}
Şimdi tek tek inceleyelim: int i=0 döngünün nereden başlayacağını belirtir. Burada bir tamsayı olan 0'dan başlayacağını söyledik. i<10 döngünün nereye kadar devam edeceğini belirtir, burada döngü en son i=9 değerini alacaktır. i++ döngüdeki her turda inin 1 artacağını belirtiyor. Eğer 1 değil de 2 artmasını isteseydik i = i + 2 yazabilirdik.
Şimdi kullanıcıdan bu döngüyü kullanarak 10 kere input alalım ve bunu ekrana yazdıralım. Bunun için yukarıda input almakta kullandığımız kodu döngümüzün içine koyuyoruz ve input aldığımız satırdan hemen sonra, o turda alınmış olan veriyi ekrana yazdırıyoruz.
Yazdırmak için şu kodu kullanabiliriz.
System.out.println("Tur no: "+i+" Girdiğiniz sayı: "+rakam);
Kodumuzun son hali şöyle olmalı:
Şimdi pencereyi kapatıp BlueJ projemize dönüyoruz. Tıpkı geçen derste yaptığımız gibi class'ımıza sağ tıklayıp void main(String[] args)a tıklıyoruz. Karşımıza gelen küçük pencerede OK'e basıp geçiyoruz.İşte programımız karşımızda!
Burada her seferinde bir tamsayı girerek ENTER'a basın ve kodun çalıştığını görün!
Bendeki ekran görüntüsü:
Böylece bir dersimizin daha sonuna geldik!
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 1)
Sonraki Bölüm:Java Dersleri (Bölüm 3)
Bu yazı Programlama bölümünün bir parçasıdır.




