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:
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ır
Not: 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);
    }
}

© 2019 Tüm Hakları Saklıdır. Codesenior.COM