Java Dilinde Klavyeden Girilen Değerleri Almak
29-12-2013
Scanner sınıfı ile klavyeden değer alırız.
Peki nasıl kullanacağız?
Hatırlarsak C dilinde klavyeden input alabilmek için scanf() fonksiyonunu kullanıyorduk. Java dilinde de bir metoda(fonksiyon) ihtiyacımız var.
Önceki sınıf örneklerinde görüldüğü gibi sınıfların içerisinde bir metod vardı: main() metodu. Buradan şu sonucu çıkartabiliriz: Sınıflar’da metodlar bulunabilmektedir.
Madem sınıflarda metod bulunmaktadır, o halde klavyeden input almayı sağlayan metod Scanner sınıfı içerisinde olmalıdır. Çünkü Scanner sınıfı klavyeden input almayı sağlayan, bu amaçla kullanılan bir sınıftır.
Gerekli olan metod nedir ve nasıl kullanacağım?
Cevap:
1) Scanner sınıfından bir nesne yarat
2) nesneAdi.metodIsmi() şeklinde çağır
Adım 1: Nesne yaratmak. Nesne nedir? Nesne tanımlanan bir sınıftan static olmayan metodlarını kullanmaya yarayan bir referans değişken(C dilindeki pointer)’dir. Nesne şu şekilde yaratılır:
ClassAdi nesneAdi= new ClassConstructor();
Class constructor: Sınıf ismiyle aynı olan yapıcı metod olarak bilinen, sınıfı memory’e yükleyen parametreli veya parametresiz olabilen, dönüş tipi olmayan bir metodtur. Bir sınıfın birden çok constructor’u olabilmektedir. Çünkü constructor aynı zamanda sınıfın değişkenlerine ilk değer vermek için de kullanılır. Bir sınıfa ilk değer verebilmek için parametreli constructor’lar kullanılır.
Şimdi nesnemizi yaratalım:
Scanner degerAl=new Scanner(System.in);
Scanner: sınıf adı
degerAl: nesne adı
new: nesne yaratmak için zorunlu olan keyword
Scanner(System.in): Parametreli constructor. Eğer Scanner() şeklinde olsa idi parametresiz constructor olacaktı.
Adım 2: Metodu Çağırmak
Scanner sınıfında, girilecek klavye input değerine göre bir çok farklı metod vardır:
Örnek:
Peki nasıl kullanacağız?
Hatırlarsak C dilinde klavyeden input alabilmek için scanf() fonksiyonunu kullanıyorduk. Java dilinde de bir metoda(fonksiyon) ihtiyacımız var.
Önceki sınıf örneklerinde görüldüğü gibi sınıfların içerisinde bir metod vardı: main() metodu. Buradan şu sonucu çıkartabiliriz: Sınıflar’da metodlar bulunabilmektedir.
Madem sınıflarda metod bulunmaktadır, o halde klavyeden input almayı sağlayan metod Scanner sınıfı içerisinde olmalıdır. Çünkü Scanner sınıfı klavyeden input almayı sağlayan, bu amaçla kullanılan bir sınıftır.
Gerekli olan metod nedir ve nasıl kullanacağım?
Cevap:
1) Scanner sınıfından bir nesne yarat
2) nesneAdi.metodIsmi() şeklinde çağır
Adım 1: Nesne yaratmak. Nesne nedir? Nesne tanımlanan bir sınıftan static olmayan metodlarını kullanmaya yarayan bir referans değişken(C dilindeki pointer)’dir. Nesne şu şekilde yaratılır:
ClassAdi nesneAdi= new ClassConstructor();
Class constructor: Sınıf ismiyle aynı olan yapıcı metod olarak bilinen, sınıfı memory’e yükleyen parametreli veya parametresiz olabilen, dönüş tipi olmayan bir metodtur. Bir sınıfın birden çok constructor’u olabilmektedir. Çünkü constructor aynı zamanda sınıfın değişkenlerine ilk değer vermek için de kullanılır. Bir sınıfa ilk değer verebilmek için parametreli constructor’lar kullanılır.
Şimdi nesnemizi yaratalım:
Scanner degerAl=new Scanner(System.in);
Scanner: sınıf adı
degerAl: nesne adı
new: nesne yaratmak için zorunlu olan keyword
Scanner(System.in): Parametreli constructor. Eğer Scanner() şeklinde olsa idi parametresiz constructor olacaktı.
Adım 2: Metodu Çağırmak
Scanner sınıfında, girilecek klavye input değerine göre bir çok farklı metod vardır:
nextByte();//Klavyeden byte tipinde bir değer alır nextShort();//Klavyeden short tipinde bir değer alır nextInt(); //Klavyeden int tipinde bir değer alır nextLong();// Klavyeden long tipinde bir değer alır nextFloat();//Klavyeden float tipinde bir değer alır nextDouble();//Klavyeden double tipinde bir değer alır next();//Klavyeden String alır. C dilinde scanf("%s",°iskenAdi) yaptığı işi yapar. Yani boşluk görene kadar string alır. nextLine();//Klavyeden enter tuşuna basılana kadar girilen tüm string'i alırNot: Scanner sınıfını kullanabilmek için java.util.Scanner import etmemiz gerekir.
Örnek:
import java.util.Scanner; public class ScannerTest{ public static void main(String[] args){ System.out.print("Lütfen bir sayı giriniz: ");//yeni satıra geçmez Scanner deger=new Scanner(System.in); int girilenDeger=deger.nextInt(); System.out.println("Girdiğiniz deger "+girilenDeger); } }