top of page

5. Hafta - Java - Girdi/Çıktı: Scanner ile kullanıcıdan veri alma

Java’da Scanner sınıfı, kullanıcıdan klavye aracılığıyla veri almak için en sık kullanılan yöntemdir. Konsoldan girdi (input) almayı ve program içinde bu girdiyi işlemeyi sağlar.



1. Scanner Nedir?


Scanner, Java’nın java.util paketinde bulunan bir sınıftır.Bu sınıf, kullanıcıdan klavyeden veri almak, dosyadan veri okumak gibi işlemleri yapar.Konsoldan alınan her şey String olarak gelir, ancak Scanner bunu otomatik olarak int, double, boolean gibi türlere çevirebilir.



2. Scanner Sınıfını Kullanmak İçin


Önce Scanner sınıfını programa import etmemiz gerekir:


ree


3. Scanner Nesnesi Oluşturma


ree


  • Scanner → sınıfın adı

  • input → bizim oluşturduğumuz nesne adı (farklı bir isim de verebilirsin)

  • System.in → klavyeden giriş akışını temsil eder












4. Kullanıcıdan Veri Alma Örnekleri

a) String (metin) veri alma


ree











b) int (tam sayı) veri alma


ree











c) double (ondalıklı sayı) veri alma


ree









 d) boolean (doğru/yanlış) veri alma


ree









5. Dikkat Edilmesi Gerekenler


  • Eğer nextInt() veya nextDouble() kullandıktan sonra nextLine() kullanacaksan,arada boş satır yakalaması sorunu olabilir. Bunu önlemek için:


ree


  • Program sonunda kaynakları serbest bırakmak için:


ree












6. Tam Örnek Program


ree


import java.util.Scanner;

Java’daki Scanner sınıfını programımıza dahil ediyoruz.Bu sınıf kullanıcıdan veri almak için gereklidir.java.util paketi içinde bulunduğu için “import” etmemiz gerekir.


util, İngilizce “utility” kelimesinin kısaltmasıdır.Anlamı: “yardımcı araçlar”, “kullanışlı sınıflar” demektir.

Java’da java.util adlı bir paket (package) vardır.Bu paket, Java’nın sık kullanılan yardımcı sınıflarını (utility classes) içinde barındırır.


public class GirdiOrnegi { ... }

Java’da her program bir sınıf (class) içinde olmalıdır.Burada sınıfın adı GirdiOrnegi olarak belirlenmiş.


public static void main(String[] args) { ... }

Programın başlangıç noktasıdır.Java, çalışmaya bu metottan başlar.Buradaki kodların hepsi çalıştırıldığında sırasıyla yürütülür.


Şu an genelde programı çalıştırırken hiçbir ek bilgi vermiyoruz, Bu durumda args boş olur (içinde hiçbir şey yok). Yani genellikle bu parametreyi kullanmıyoruz.



Scanner input = new Scanner(System.in);

Scanner sınıfından bir nesne (object) oluşturuyoruz.

  • input → bizim verdiğimiz nesne adı (istediğin isim olabilir)

  • new Scanner(System.in) → kullanıcıdan klavyeden veri almak için oluşturulur.

Yani bu satır, programımıza “kullanıcıdan bilgi alabilme” yeteneği kazandırır.


System.out.print("Adınızı giriniz: ");

Ekrana kullanıcıya gösterilecek bir yazı bastırır.print komutu, imleci aynı satırda tutar (alt satıra geçmez).


String ad = input.nextLine();

Kullanıcının klavyeden yazdığı metni (string) alır.Örneğin kullanıcı “İshak” yazarsa, ad değişkeninin değeri "İshak" olur.


System.out.print("Yaşınızı giriniz: ");

Ekrana “Yaşınızı giriniz:” yazar.


int yas = input.nextInt();

Kullanıcının girdiği tam sayıyı (integer) alır.Kullanıcı 15 yazarsa, yas değişkeninin değeri 15 olur.


System.out.print("Boyunuzu giriniz: ");

Kullanıcıya boyunu sormak için yazı yazar.


double boy = input.nextDouble();

Kullanıcının girdiği ondalıklı sayıyı alır.Örneğin kullanıcı 1.75 yazarsa, boy değişkeni 1.75 değerini alır.


System.out.println("\n--- Bilgileriniz ---");

Ekrana boş bir satır (\n) bırakır ve “--- Bilgileriniz ---” başlığını yazar.(println alt satıra geçer.)


System.out.println("Ad: " + ad);

ad değişkeninin içeriğini ekrana yazar.Eğer kullanıcı “İshak” yazdıysa:

Ad: İshak

şeklinde görünür.


System.out.println("Yaş: " + yas);

yas değişkenini ekrana bastırır.


System.out.println("Boy: " + boy);

boy değişkenini ekrana bastırır.


input.close();

Scanner’ı kapatır.Bu, kaynakların serbest bırakılması için iyi bir alışkanlıktır Program artık kullanıcıdan yeni girdi almaz.



Özetle Program Şunu Yapar:

  1. Kullanıcıdan ad, yaş ve boy bilgilerini alır.

  2. Bu bilgileri değişkenlerde tutar.

  3. Ekrana toplu şekilde yazdırır.



Örnek çıktı:


ree














Özet video:















İSHAK BEZCİ

BT ÖĞRETMENİ






Yorumlar


bottom of page