java scanner class tutorial with examples
Bu eğiticide, Çeşitli Yöntemler, Tarayıcı API'si ve Örneklerle birlikte Java Tarayıcı Sınıfının Nasıl İçe Aktarılacağını ve Kullanılacağını tartışacağız:
Standart I / O cihazlarına veri okumak / yazmak için Java tarafından kullanılan standart Giriş-Çıkış yöntemlerini zaten görmüştük.
Java, kullanıcı girdilerini okumak için başka bir mekanizma daha sağlar. Bu, Scanner sınıfıdır. Çok verimli olmasa da, Tarayıcı sınıfı Java programlarında girdileri okumanın en kolay ve tercih edilen yoludur.
=> TÜM Java Öğreticilerini Buradan Kontrol Edin.
Ne öğreneceksin:
Java Tarayıcı Sınıfı: Derinlemesine Bir Bakış
Tarayıcı sınıfı çoğunlukla girdiyi taramak ve int, decimal, double, vb. Gibi ilkel (yerleşik) veri türlerinin girişini okumak için kullanılır. Tarayıcı sınıfı, temelde, bazı sınırlayıcı modellere göre belirteçli girdiyi döndürür. Bu nedenle, genel olarak, dt türünü okumak istiyorsanız, girişi okumak için nextdt () işlevini kullanabilirsiniz.
Bir Scanner sınıfı, Yineleyici (dize), Kapatılabilir ve AutoCloseable arabirimlerini uygular.
Şimdi bu Scanner sınıfının ayrıntılarını inceleyelim.
Tarayıcıyı İçe Aktar
Tarayıcı sınıfı, 'java.util' paketine aittir. Bu nedenle, programınızda Scanner sınıfını kullanmak için, bu paketi aşağıdaki gibi içe aktarmanız gerekir.
içe aktar java.util. *
VEYA
java.util.Scanner'ı içe aktarın;
Yukarıdaki ifadelerden herhangi biri, Scanner sınıfını ve onun programınızdaki işlevselliğini içe aktaracaktır.
Java Tarayıcı Sınıfı
Scanner sınıfı Java programına alındıktan sonra, onu çeşitli veri türlerinin girişini okumak için kullanabilirsiniz. Girişi standart girişten veya dosyadan veya kanaldan okumak isteyip istemediğinize bağlı olarak, önceden tanımlanmış uygun nesneyi Tarayıcı nesnesine iletebilirsiniz.
Aşağıda, Tarayıcı sınıfı kullanımının temel bir örneği verilmiştir.
import java.util.*; public class Main { public static void main(String args()) { Scanner in = new Scanner (System.in); System.out.print ('Enter a String: '); String mystr = in.nextLine(); System.out.println('The String you entered is: ' + mystr); in.close(); } }
Çıktı:
Yukarıdaki programda, bir Scanner sınıfı nesnesi oluştururken nesne olarak 'System.in' (standart Giriş) sağladık. Daha sonra standart girdiden bir string girdisi okuruz.
Tarayıcı API (Oluşturucular ve Yöntemler)
Bu bölümde, Tarayıcı sınıfı API'sini ayrıntılı olarak inceleyeceğiz. Tarayıcı sınıfı, System.in, dosya girişi, yol vb. Gibi çeşitli giriş yöntemlerini barındırmak için çeşitli aşırı yüklenmiş yapıcılar içerir.
Aşağıdaki tablo, Scanner sınıfı yapıcılarının her birinin prototipini ve açıklamasını verir.
giriş seviyesi qa test kullanıcısı mülakat soruları
Yapma | Prototip | Açıklama |
---|---|---|
7 | Tarayıcı (Yol kaynağı, dize karakter kümesiAdı) | Bu yapıcı, belirtilen dosyayı tarayan ve değerleri üreten yeni bir Tarayıcı oluşturur. |
1 | Tarayıcı (InputStream kaynağı) | Bu kurucu, yeni InputStream'i tarayan, kaynak ve değerleri üreten yeni bir Tarayıcı oluşturur. |
iki | Tarayıcı (InputStream kaynağı, String charsetName) | Bu kurucu, yeni InputStream'i tarayan, kaynak ve değerleri üreten yeni bir Tarayıcı oluşturur. |
3 | Tarayıcı (Dosya kaynağı) | Bu yapıcı, belirtilen dosyayı tarayan ve değerleri üreten yeni bir Tarayıcı oluşturur. |
4 | Tarayıcı (Dosya kaynağı, String charsetName) | Bu yapıcı, belirtilen dosyayı tarayan ve değerleri üreten yeni bir Tarayıcı oluşturur. |
5 | Tarayıcı (Dize kaynağı) | Bu yapıcı, belirtilen dizeyi tarayan ve değerleri üreten yeni bir Tarayıcı oluşturur. |
6 | Tarayıcı (Yol kaynağı) | Bu yapıcı, belirtilen dosyayı tarayan ve değerleri üreten yeni bir Tarayıcı oluşturur. |
8 | Tarayıcı (Okunabilir kaynak) | Bu kurucu, belirtilen kaynağı tarayan ve değerleri üreten yeni bir Tarayıcı oluşturur. |
9 | Tarayıcı (ReadableByteChannel kaynağı) | Bu kurucu, belirtilen kanalı tarayan ve değerleri üreten yeni bir Tarayıcı oluşturur. |
10 | Tarayıcı (ReadableByteChannel kaynağı, String charsetName) | Bu kurucu, belirtilen kanalı tarayan ve değerleri üreten yeni bir Tarayıcı oluşturur. |
Yapıcılar gibi, Scanner sınıfı da girdiyi taramak ve okumak için kullanılan çok sayıda yöntem sağlar. Girişteki sonraki belirtecin belirli bir veri türünün belirteci olup olmadığını kontrol etmenize olanak tanıyan çeşitli Boole yöntemleri sağlar.
Her kurucu için önceden tanımlanmış giriş nesnesiyle yalnızca bir bağımsız değişken veya önceden tanımlanmış giriş nesnesi ve karakter kümesinden oluşan iki bağımsız değişken sağlayabileceğinizi unutmayın. Bir bağımsız değişken olması durumunda, varsayılan karakter kümesi varsayılır.
Ayrıca, her veri türünün belirteçlerini almak için yöntemler de vardır.
Diğer yöntemler arasında yerel ayar, taban, eşleşme modelleri, Tarayıcıyı kapatma vb.
Aşağıdaki tablo, temel Tarayıcı yöntemlerinin her birinin prototipini ve açıklamasını verir.
Yapma | Prototip | Açıklama |
---|---|---|
7 | Boole hasNextFloat () | Tarayıcı girişindeki bir sonraki jetonun kayan tipte olup olmadığını kontrol eder |
1 | Boole hasNext () | Tarayıcının girişinde başka bir belirteç varsa doğru döndürür |
iki | Boole hasNextBigDecimal () | Tarayıcı girişindeki sonraki belirtecin bigDecimal türünde olup olmadığını kontrol eder. |
3 | Boole hasNextBigInteger () | Tarayıcı girişindeki sonraki belirtecin bigInteger türünde olup olmadığını kontrol eder |
4 | Boole hasNextBoolean () | Tarayıcı girişindeki sonraki belirtecin Boole tipi olup olmadığını kontrol eder |
5 | Boole hasNextByte () | Tarayıcı girişindeki bir sonraki jetonun Byte türünde olup olmadığını kontrol eder |
6 | Boole hasNextDouble () | Tarayıcı girişindeki sonraki jetonun çift tip olup olmadığını kontrol eder |
8 | Boole hasNextInt () | Tarayıcı girişindeki sonraki belirtecin tam sayı türünde olup olmadığını kontrol eder |
9 | Boole hasNextLine () | Tarayıcı girişindeki sonraki belirtecin başka bir satır olup olmadığını kontrol eder |
10 | Boole hasNextLong () | Tarayıcı girişindeki sonraki jetonun uzun tipte olup olmadığını kontrol eder |
on bir | Boole hasNextShort () | Tarayıcı girişindeki sonraki jetonun kısa tip olup olmadığını kontrol eder |
12 | Sonraki dize () | Girişi bir sonraki tam belirteç için tarar |
13 | BigDecimal nextBigDecimal () | Bir sonraki BigDecimal belirteci için girişi tarar |
14 | BigInteger nextBigInteger () | Bir sonraki BigInteger belirteci için girişi tarar |
on beş | Sonraki BooleanBoolean () | Bir sonraki Boole belirteci için girişi tarar |
16 | Sonraki baytByte () | Bir sonraki Byte belirteci için girişi tarar |
17 | Çift sonrakiÇift () | Girişi bir sonraki Double token için tarar |
18 | Float nextFloat () | Bir sonraki kayan jeton için girişi tarar |
19 | Int nextInt () | Girdiyi sonraki tam sayı belirteci için tarar |
yirmi | Dize nextLine () | Tarayıcı nesnesinden atlanan girdi dizesini alın |
yirmi bir | Uzun sonrakiUzun () | Bir sonraki uzun tamsayı belirteci için girişi tarar |
22 | Kısa sonrakiKısa () | Girdiyi sonraki Kısa tamsayı belirteci için tarar |
2. 3 | Tarayıcı sıfırlama () | Şu anda kullanımda olan Tarayıcıyı sıfırlayın |
24 | Tarayıcı atla () | Sınırlayıcıları yoksayın ve verilen modelle eşleşen girişi atlayın |
25 | Tarayıcı kullanımı Sınırlayıcı () | Sınırlandırma desenini belirtilen desene ayarlayın |
26 | Tarayıcı kullanımı Lokal () | Scanners yerel ayarı nesnesini verilen yerel ayarla ayarlayın |
27 | Tarayıcı kullanımıRadix () | Belirtilen tabanı Tarayıcı için varsayılan taban alanı olarak ayarlayın |
28 | Int radix () | Mevcut Tarayıcının varsayılan alanını döndürür |
29 | void remove () | Yineleyici, kaldırma işlemini desteklemediğinde kullanılabilir |
30 | Akış jetonları () | Geçerli Tarayıcıdan ayırıcıyla ayrılmış jeton akışını döndürür |
31 | String toString () | Şu anda kullanımda olan belirli Tarayıcının dönüş dize temsili |
32 | IOException ioException () | Tarayıcı nesnesinin okunabilirliği tarafından en son atılan IOException'ı döndürür |
33 | Akış findALL () | Verilen modelle eşleşen maç sonuçlarının akışını döndürür |
3. 4 | Dize findInLine () | Verilen dizeden bir sonraki modelin oluşumunu bulun; sınırlayıcıları yok sayar |
35 | Dize findWithinHorizon () | Verilen dizeden bir sonraki modelin oluşumunu bulun; sınırlayıcıları yok sayar |
36 | Desen sınırlayıcı () | Mevcut Tarayıcı tarafından kullanılan kalıbı verir |
37 | Boşluk kapatma () | Tarayıcıyı kapatır |
38 | MatchResult eşleşmesi () | Son tarama işleminin eşleşen sonucunu verir |
39 | Yerel yerel () | Mevcut Tarayıcının yerini döndür |
Kontrol İşte Tarayıcı Yöntemleri hakkında daha fazla bilgi edinmek için.
Tarayıcı Java'da Nasıl Kullanılır?
Scanner sınıfı tarafından sağlanan çeşitli yapıcıları ve yöntemleri artık gördüğünüze göre, şimdi Scanner sınıfının Java'da nasıl kullanılacağını göstermek için bazı örnekleri uygulayalım.
Aşağıdaki uygulama, System.in'deki girişi yani standart girişi okumak için Scanner sınıfının kullanımını gösterir.
Burada, bir Scanner nesnesi oluşturmak için önceden tanımlanmış bir System.in nesnesi kullanıyoruz. Ardından kullanıcıdan ad, sınıf ve yüzdeyi girmesi istenir. Tüm bu ayrıntılar, Scanner sınıfı nesnesi kullanılarak okunur.
Tarayıcı nesneleri tarafından farklı girdi türlerini okumak için kullanılan yöntemlere dikkat edin. Ad bir dize olduğundan, Scanner nesnesi next () yöntemini kullanır. Sınıf girdisi için nextInt () kullanırken yüzde olarak nextFloat () kullanır.
Bu şekilde, okurken girişi kolayca ayırabilirsiniz.
Programın çıkışı, girilen girişi ve görüntülenen bilgileri gösterir.
import java.util.*; public class Main{ public static void main(String ()args){ String name; int myclass; float percentage; //creating object of Scanner class Scanner input = new Scanner(System.in); System.out.print('Enter your name: '); name = input.next(); System.out.print('Enter your class: '); myclass = input.nextInt(); System.out.print('Enter your percentage: '); percentage = input.nextFloat(); input.close(); System.out.println('Name: ' + name + ', Class: '+ myclass + ', Percentage: '+ percentage); } }
Çıktı:
Tarayıcı Dizesi
Daha önce de belirtildiği gibi, bir Tarayıcı nesnesi oluştururken önceden tanımlanmış çeşitli nesneleri kullanabilirsiniz. Bu, girişi standart giriş, dosyalar ve çeşitli G / Ç kanallarından veya dizilerden okuyabileceğiniz anlamına gelir.
Bir dize girdisi kullanıldığında, onun içinde normal ifadeler de kullanabilirsiniz.
Aşağıdaki örnekler, Tarayıcının girdi olarak bir dizeyi kullandığı programı gösterir. Bu giriş daha sonra taranır ve her bir belirteç okunarak belirteçler ayrılır.
Okunan belirteçler daha sonra çıktıda görüntülenir.
import java.util.*; public class Main{ public static void main(String ()args){ System.out.println ('The subjects are as follows :'); String input = '1 Maths 2 English 3 Science 4 Hindi'; Scanner s = new Scanner(input); System.out.print(s.nextInt()+'. '); System.out.println(s.next()); System.out.print(s.nextInt()+'. '); System.out.println(s.next()); System.out.print(s.nextInt()+'. '); System.out.println(s.next()); System.out.print(s.nextInt()+'. '); System.out.println(s.next()); s.close(); } }
Çıktı:
Tarayıcıyı Kapat
Java Tarayıcı sınıfı, Tarayıcıyı kapatmak için 'Close ()' yöntemini kullanır. Scanner sınıfı ayrıca bir Kapatılabilir arabirimi dahili olarak uygular ve bu nedenle Tarayıcı önceden kapatılmamışsa, temeldeki Okunabilir arabirim kendi kapatma yöntemini çağırır.
Tarayıcıyı kullanmayı bitirdikten sonra Close () yöntemini kullanarak açık bir şekilde kapatmak iyi bir programlama uygulamasıdır.
Not: Tarayıcı nesnesi kapatılırsa ve arama yapılmaya çalışılırsa, 'IllegalStateException' ile sonuçlanır.
Sıkça Sorulan Sorular
S # 1) Java'daki Tarayıcı sınıfı nedir?
Cevap: Tarayıcı sınıfı, Java'nın 'java.util' paketinin bir parçasıdır ve int, float, dizeler vb. Gibi farklı ilkel veri türlerinin girişlerini okumak için kullanılır.
.eps dosyası nedir
S # 2) Scanner sınıfının next () ve nextLine () yöntemleri arasındaki fark nedir?
Cevap: Next () yöntemi, boşluğa kadar girişi okur ve imleci girişi okuduktan sonra aynı satıra yerleştirir. NextLine () yöntemi boşluklar dahil satırın sonuna kadar girdi satırının tamamını okur.
S # 3) Java'da hasNext () nedir?
Cevap: HasNext () yöntemi, Java Tarayıcı yöntemlerinden biridir. Tarayıcının girişte başka bir belirteci varsa bu yöntem true değerini döndürür.
S # 4) Bir Scanner sınıfını kapatmanız gerekiyor mu?
Cevap: Tarayıcı sınıfını kapatılmamış gibi kapatmak daha iyidir, ancak zorunlu değildir, Scanner sınıfının temeldeki Okunabilir arabirimi işi sizin için yapar. Derleyici kapatılmamış olsa da bazı uyarılar yanıp sönebilir.
Bu nedenle, iyi bir programlama uygulaması olarak her zaman Tarayıcıyı kapatın.
S # 5) Scanner sınıfındaki 'system.in' in amacı nedir?
Cevap: Scanner sınıfında “System.in” kullanarak, Tarayıcının standart giriş verilerine bağlı klavyeyi okumasına izin vermiş olursunuz.
Sonuç
Bu eğiticide, Scanner sınıfını ve API ve uygulama dahil tüm ayrıntılarını gördük. Tarayıcı sınıfı, standart giriş, dosyalar, IO kanalları, normal ifadeler içeren / içermeyen dizeler gibi çeşitli ortamlardan giriş verilerini okumak için kullanılır.
Tarayıcı, girişi okumanın çok verimli bir yolu olmasa da, en kolay yollardan biridir. Tarayıcı, int, float, dizeler, vb. Gibi çeşitli ilkel veri türlerinin girişini okumanıza olanak tanır. Dizeleri Scanner sınıfı için bir girdi nesnesi olarak kullandığınızda, onunla birlikte normal ifadeler de kullanabilirsiniz.
Scanner sınıfı, bazı desen veya sınırlayıcıları eşleştirerek girişi okumanıza da olanak tanır.
Sonuç olarak, Java'da Tarayıcı sınıfını kullanmak, girişi okumanın en kolay ve tercih edilen yolu olmaya devam etmektedir.
=> Mükemmel Java Eğitim Kılavuzuna Buradan Bakabilirsiniz.
Önerilen Kaynaklar
- Java Vektör Nedir | Örneklerle Java Vektör Sınıfı Eğitimi
- Java Dizi Sınıfı Eğitimi - Örneklerle java.util.Arrays Sınıfı
- Yeni Başlayanlar İçin JAVA Eğitimi: 100+ Uygulamalı Java Video Eğitimi
- Java Arayüzü ve Örneklerle Soyut Sınıf Eğitimi
- Örneklerle Java Yansıtma Eğitimi
- Java'da Jagged Array - Örneklerle Eğitim
- Kod Örnekleriyle Java Dizi Uzunluğu Eğitimi
- Java Dize Eğitimi | Örneklerle Java Dize Yöntemleri