Java Academy · Ders

Satırları Okuma

readLine ve döngüler.

2. ders / 413 adım

Satırları Okuma, CoddyKit'te ücretsiz bir Java Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Java Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Java Academy kursu toplamda 4 dersten oluşur.

readLine Yöntemi

readLine(), BufferedReader'ın temelidir. Bir satır sonuyla (Enter tuşuyla) karşılaşana kadar karakterleri okur, ardından satırı String olarak döndürür.

Döndürülen metin satır sonu karakterini içermez. Bu derste tek ve birden çok satır okuyacağız.

String line = br.readLine();

Bir Satır Okuma

İşte en basit durum: bir ad okuyup selamlama yazdırmak. readLine(), kullanıcı Enter'a basana kadar bekler.

System.in'den okuduğu için bu kod parçacığı klavye girdisi bekler ve burada otomatik olarak çalıştırılamaz.

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br =
            new BufferedReader(new InputStreamReader(System.in));
        String name = br.readLine();
        System.out.println("Welcome, " + name + "!");
    }
}

Girdi Bittiğinde readLine Ne Döndürür

Daha fazla girdi olmadığında (akışın sonunda veya kullanıcı EOF sinyali verdiğinde) readLine(), String yerine null döndürür.

Bu çok önemli bir işarettir: null kontrolü yapmak, okumayı durdurmamızı sağlar.

String line = br.readLine();
if (line == null) {
    System.out.println("No more input.");
}

EOF'ye Kadar Okuma

Girdi sona erene kadar her satırı okumak için readLine() değeri null olmadığı sürece döngü kurun. Bu yaygın kalıp, tek bir koşul içinde atama ve kontrol işlemlerini gerçekleştirir.

Her döngü turu size bir sonraki satırı verir; null geldiğinde döngü düzgün biçimde sona erer.

String line;
while ((line = br.readLine()) != null) {
    System.out.println("Got: " + line);
}

Çok Satırlı Bir Okuyucu

Akış sona erene kadar yazdığınız her satırı geri yazdıran eksiksiz bir program aşağıda verilmiştir.

System.in'den okuduğu için girdi bekler ve otomatik olarak çalıştırılamaz; ancak döngü kalıbı, yeniden kullanacağınız kalıbın tam olarak aynısıdır.

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br =
            new BufferedReader(new InputStreamReader(System.in));
        String line;
        while ((line = br.readLine()) != null) {
            System.out.println("Echo: " + line);
        }
    }
}

Satırları Sayma

Döngünün içinde sayma gibi işlemler yapabilirsiniz. Burada gelen satırların kaç tane olduğunu sayıyoruz.

Her yinelemede yeni bir satır okunur ve sayaç artırılır. Girdi sona erdiğinde toplamı yazdırırız.

int count = 0;
String line;
while ((line = br.readLine()) != null) {
    count++;
}
System.out.println("Lines read: " + count);

Boş Satırlar ve Boş Değer

Dikkatli olun: boş bir satır (kullanıcının yalnızca Enter'a basması) boş bir String olan "" değerini döndürür; null döndürmez.

Bu nedenle "".equals(line) boş bir satır, line == null ise girdinin gerçekten sona erdiği anlamına gelir. Bunlar farklı durumlardır.

if (line == null) {
    // input finished
} else if (line.isEmpty()) {
    // user pressed Enter on a blank line
}

Standart Girdi Olmadan Satırları Benzetme

Klavye girdisi olmadan readLine()'ın nasıl çalıştığını görmek için bir BufferedReader'a StringReader üzerinden girdi sağlayabiliriz. Bu kod tamamen çalıştırılabilirdir.

Dize, \n ile ayrılmış iki satır içerir ve döngü her satırı yazdırır.

import java.io.BufferedReader;
import java.io.StringReader;
import java.io.IOException;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br =
            new BufferedReader(new StringReader("apple\nbanana"));
        String line;
        while ((line = br.readLine()) != null) {
            System.out.println("Fruit: " + line);
        }
    }
}

Boşlukları Kırpma

Girdide çoğu zaman fazladan boşluklar bulunur. Bir satırı kullanmadan önce başındaki ve sonundaki boşlukları kaldırmak için trim() kullanın.

Bu, özellikle kullanıcılar yanlışlıkla boşluk eklediğinde karşılaştırmaların ve ayrıştırmanın güvenilir kalmasını sağlar.

import java.io.BufferedReader;
import java.io.StringReader;
import java.io.IOException;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br =
            new BufferedReader(new StringReader("  hello  \n"));
        String line = br.readLine().trim();
        System.out.println("[" + line + "]");
    }
}

Sabit Sayıda Satır Okuma

Bazen sayıyı önceden bilirsiniz. Bir for döngüsü tam olarak bu sayıdaki satırı okur.

Bu, bir problemin “ilk sayı, ardından kaç satır geleceğini belirtir” dediği durumlarda yaygındır.

for (int i = 0; i < 3; i++) {
    String item = br.readLine();
    System.out.println(i + ": " + item);
}

readLine İçin Temel Alışkanlıklar

Şu alışkanlıkları unutmayın:

  • Bir satırı kullanmadan önce her zaman null kontrolü yapın.
  • Fazladan boşluklar hatalara yol açabilecekse trim() kullanın.
  • Boş dize, null ile aynı şey değildir.

Sırada bu satırları sayılara dönüştüreceğiz.

Hızlı Kontrol

Girdi akışı sona ulaştığında readLine() ne döndürür?

Özet

Tek satırları okumayı, while ((line = br.readLine()) != null) ile döngü kurmayı ve boş bir satırı ("") girdi sonundan (null) ayırt etmeyi öğrendiniz.

Ayrıca StringReader kullanarak çalıştırılabilir örnekler gördünüz. Sıradaki konu: metin satırlarını sayılara dönüştürmek.

Başlamak ücretsiz

Yapay zeka eğitmeniyle Java öğren — ücretsiz

Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.

Kurslar
104
Dersler
374

Sıkça Sorulan Sorular

“Satırları Okuma” dersi ücretsiz mi?

Evet — “Satırları Okuma” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Java Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Java Academy kursu toplamda 4 dersten oluşur.

“Satırları Okuma” dersinde ne öğreneceğim?

readLine ve döngüler. Java Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Java Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Java Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.

“Satırları Okuma” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Java Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Java Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. BufferedReader Neden Kullanılır
  2. Satırları Okuma
  3. Girdiden Sayıları Ayrıştırma
  4. Akışları Güvenle Kapatma
← Java Academy Sayfasına Dön