java-sunu-4 - Dr. Muhammet BAYKARA

advertisement
22.03.2011
Programlamaya
Giriş
Scanner Sınıfı ve
Veri Okunması
Java Kütüphaneleri
 Java’da



kütüphaneler paket olarak adlandırılır
Paket belirli bir mantıksal çerçeveye göre bir araya getirilmiş
sınıflardan oluşur ve bu sınıflara erişim kolaylığı sağlar.
Herhangi sınıfı kullanabilmek için o sınıfın ait olduğu paketi
import kullanarak ithal etmek gerekir.
java.lang paketi içerisindeki sınıflar otomatik olarak import
edilirler
import java.util.Scanner;
// sadece Scanner sınıfını import eder
import java.util.*;
// java.util paketindeki bütün sınıfları import eder

(*) kullanmak yerine belirli bir sınıfı import etmek daha doğrudur.
1
22.03.2011
Scanner Sınıfı ile Konsol Girişi
 Scanner
kullanıcıdan veya başka kaynaklardan giriş
almak için kullanılır.
 Java 1.5 versiyonundan sonra
 Scanner java.util paketi içinde olduğundan
kullanabilmek için bu paketi import etmek gerekir

import java.util.Scanner
 Bu
komut Java’ya
sınıfını kullanıma hazır hale getirmesini
 Scanner sınıfını java.util paketinde bulmasını
anlatır
 Scanner
Scanner nesnesi
 Scanner
nesnesi farklı kurucu metodlar kullanılarak
oluşturulabilir:

Scanner(File kaynakDosya)
Belirtilen kaynak dosyadan değerleri okuyabilecek bir
Scanner nesnesi oluşturur.
Scanner(InputStream kaynak)

Scanner(Readable source)

Scanner(String kaynakString)
Belirtilen Stringden değerleri okuyabilecek bir Scanner
nesnesi oluşturur.

2
22.03.2011
Scanner sınıfı ile kullanıcı girişi
 Scanner
kullanarak klavyeden giriş almak için
System.in InputStream kaynağı kullanılır
 System.in değişkeni:

Standart input stream – klavye
 Scanner
Sınıfı ile kullanımı
Scanner klavye = new Scanner (System.in);
Scanner sınıfı ve stdin
klavye : Scanner
- kaynak=
- ...
+ nextInt() : int
+ ...
Klavye değişkeni Scanner sınıfına
Standart Input Stream erişimi verir
Bu Scanner sınıfının girişi
Klavye olarak verilmiş olur
Scanner sınıfı yüksek seviyede text girişine
6
İmkan verir
3
22.03.2011
Klavyeden giriş
metodu klavyeden bir adet int
değer okumak ve bir değişkene atamak için
kullanılır :
 nextInt
int ogrenciSayısı = klavye.nextInt();
metodu klavyeden bir adet
double değer okumak ve bir değişkene
atamak için kullanılır
 nextDouble
double maas = klavye.nextDouble();
 Birden
fazla giriş için girilen değerler
boşluklarla ayrılmalı ve uygun metod
kullanılarak okunmalıdır:
 Boşluk
karakteri olarak boşluk, tab, yeni satır
karakterleri kullanılabilir
Scanner ile String okuma
metodu boşluklarla ayrılmış karakterleri
okumak ve String değişkenlerine atamak için
kullanılır:
 Aşağıdaki komutlar
 next
String kelime1 = klavye.next();
String kelime2 = klavye.next();
giriş olarak
Kuru fasulye
verilince,
kelime1 değişkenine Kuru,
kelime2 değişkenine fasulye,
değerlerini atar
4
22.03.2011
Scanner ile Satır okuma
metodu klavyeden girilen satırın
tamamını okur
 nextLine
String satir = keyboard.nextLine();
komutu satırı girilen satırın tamamını satir
değişkenine atar
 Satırın sonu '\n' karakterleri ile belirtilir


Bu karakterler Enter tuşuna basılınca okunur
Ekranda üst satırdan alt satıra geçilerek gösterilir
komutu bir satır okuyunca '\n'
karakterini de okur, dolayısıyla bir sonraki giriş
sonraki satırdan başlar
 nextLine

Ancak, '\n' karakteri atanan String değerinin parçası
olarak algılanmaz (yani t satır değişkenine atanan
değer '\n' karakteri ile sona ermez)
Scanner metodları
public Scanner(InputStream in)
public Scanner(File f)
public Scanner(String s)
public int nextInt()
public short nextShort()
public long nextLong()
public double nextDouble()
double
public float nextFloat()
public String next()
public String nextLine()
public boolean hasNext()
// Scanner(): constructor for reading from
a InputStream
// Scanner(): constructor to read from a
file object
// Scanner(): constructor to scan from a string
// nextInt(): next input value as an int
// nextShort(): next input value as a short
// nextLong(): next input value as a long
// nextDouble(): next next input value as a
// nextFloat(): next next input value as a float
// next(): get next whitespace-free string
// nextLine(): return contents of input line buffer
// hasNext(): is there a value to next
5
22.03.2011
import java.util.*;
public class Matematik {
public static void main(String[] args) {
// Scanner nesnesini olustur
Scanner klavye = new Scanner(System.in);
// kullanıcıdan x ve y degerlerini al
System.out.print(“Double bir sayı giriniz: ");
double x = klavye.nextDouble();
System.out.print(“Baska bir Double sayı giriniz: ");
double y = klavye.nextDouble();
double KareKokX = Math.sqrt(x);
System.out.println (“X=" + x + " in karekoku = "
+ KareKokX);
}
}
package cember;
import java.util.Scanner;
public class cember {
}
public static void main(String[] args) {
double pi=3.14,yaricap,cevre;
Scanner oku= new Scanner(System.in);
System.out.println("çemberin çevresini giriniz:");
yaricap=oku.nextDouble();
cevre=2*pi*yaricap;
System.out.println("çemberin çevresi="+cevre);
}
6
22.03.2011
package faktor;
import java.util.Scanner;
public class faktoriyel {
public static void main(String[] args) {
}
double n, i,f;
System.out.println("sayinizi giriniz");
Scanner oku = new Scanner(System.in);
n = oku.nextDouble();
f=1;
for (i=1;i<=n;i++)
{
f=f*i;
}
System.out.println("Faktöriyel sonucu:"+ f);
}

Java ve Java Teknolojileri
Java Tutorials

Kaynak: Dr. Galip AYDIN

7
Download