Java'da yazdığınız satır
Program başladıktan sonra yazdığınız bir sözcüğü ekranın göstermesini istiyorsunuz; dosyada yazılmamış bir sözcük. Önceki sayfada sözcük tutma satırında tırnakların arasındaydı, bu yüzden başka bir ekran Mint.java dosyasını değiştirmek demekti. Bu sayfada dosyada leaf hiç yoktur. Dosya bir ad oluşturur, plant, sonra bekler. leaf yazarsınız ve Enter'a basarsınız. Yazma satırı çıplak adı kullanır ve program leaf yazar. Java'yı yeniden kurmuyorsunuz. Bir not eklemiyorsunuz ve satırı bitirmenin ikinci bir yolunu da öğrenmiyorsunuz. Bir adın harf tutabildiğini ve println'in o harfleri yazdığını zaten biliyorsunuz. Yeni iş, o adı yazdığınız satırla doldurmaktır.
Dosya yazılmış bir satır bekler
Mint.java dosyasını açın. Dosya adı Mint.java kalır, çünkü public class Mint hâlâ dosyanın adıdır. Bu sayfa dosyayı yeniden adlandırmıyor ve public class Mint satırını değiştirmiyor. Dosyanın ilk satırı, public class Mint üstünde, şudur: import java.util.Scanner;. Bu satır dosyanın Scanner kullanmasına izin verir. Yazma satırı değildir. Scanner ekran için bir harf değildir. Noktalı virgül import satırını bitirir. Altına boş bir satır bırakın, sonra elinizde olan aynı public class Mint gelsin. Bu dosyada hâlâ package satırı yoktur. import ilk satırdır, main içindeki bir satır değil.
main içinde ilk yeni satır okuma aracını yapar: Scanner reader = new Scanner(System.in);. Scanner, reader'ın ne tür bir şey olduğunu söyler. reader addır ve küçük r ile başlar. = işareti bu aracı bu adın içinde tutar. new Scanner(System.in) aracı yapar ve onu System.in ile bağlar. System.in, yazdığınız harflerin okunduğu yerdir. Yazma satırında zaten kullandığınız System.out ekrandır. Bu ikisi aynı şey değildir. Noktalı virgül bu satırı bitirir. Bu satır ekranı yazmaz ve sizin yazmanızı da beklemez. Yalnızca reader yapar.
Sonraki satır, önceki sayfadan tanıdığınız adı doldurur: String plant = reader.nextLine();. String hâlâ bu adın harf tuttuğunu söyler. plant hâlâ küçük p ile başlar. = işareti hâlâ o adın içinde harf tutar. Yeni olan sağ taraftır. reader.nextLine() tırnaksızdır. Bu satırda leaf yoktur. Satır, reader'dan yazılmış bir satır ister. Program, siz Enter'a basana kadar orada bekler. Enter'a bastığınızda nextLine, o Enter'dan önce yazdığınız harfleri tutar. Enter tuşunun kendisini tutmaz. Sonra satır noktalı virgülde biter. Tutmak hâlâ yazmak değildir. Program kendi satırını henüz yazmamıştır.
Yazma satırı çıplak ad olarak kalır, önceki sayfada sakladığınız dosyadaki biçimin aynısıyla: System.out.println(plant);. Tırnaksız. Java plant adını okur, o adın tuttuğu harfleri yazar ve satırı bitirir. O harfler, nextLine'ın az önce tuttuğu şeydir. leaf yazdıysanız program leaf yazar. stem yazdıysanız program stem yazar. İki çalıştırma arasında dosya değişmedi. Dosyayı kaydedin.
Sakladığınız dosya
Bunu Mint.java olarak kaydedin. Bu sayfanın sakladığı dosya budur. Yazacağınız sözcük dosyada değildir. Dosyada l, e, a ve f harflerini arayın. Orada yokturlar. Okuma aracının adı reader'dır. Tutulan satırın adı plant'tir. Yazma satırı plant'i kullanır ve tırnak içermez.
import java.util.Scanner;
public class Mint {
public static void main(String[] args) {
Scanner reader = new Scanner(System.in);
String plant = reader.nextLine();
System.out.println(plant);
}
}
Dosyayı yukarıdan okuyun ve ekrana neyin ulaşabileceğine karar verin. import java.util.Scanner; yalnızca dosyanın Scanner kullanmasına izin verir. public class Mint dosyayı adlandırır. public static void main(String[] args) Java'nın başladığı yerdir. Bu sözcüklerin hiçbiri ekran için bir harf değildir. main satırındaki String, plant'i oluşturan String değildir. Scanner reader = new Scanner(System.in); reader aracını yapar. Bir şey yazmaz. String plant = reader.nextLine(); yazılmış bir satırı plant içinde tutar. Kendi başına bir şey yazmaz. System.out.println(plant); tek yazma satırıdır. Tutulan harfleri yazar ve satırı bitirir. plant adı yazılmaz. reader adı yazılmaz. System yazılmaz. Noktalı virgül yazılmaz.
Siz ne yazarsınız, program ne yazar
Bu Mint.java dosyasının bulunduğu klasörde javac Mint.java yazın. Dosya düzgünse bu komut hiçbir satır yazmaz. Bir import satırı ve bir reader, javac'ın bir satır yazmasına yol açmaz ve onu başarısız da yapmaz. Sonra java Mint yazın. java'dan sonra .java yazmayın. Windows'ta ve macOS'ta yazdığınız iki komut bunlardır. Bu sayfa, kabuğun komuttan önce gösterdiği işareti aktarmaz. O işaretler farklıdır ve programın satırı değildir.
java Mint sonrasında program reader.nextLine() üzerinde bekler. Bitmemiştir ve leaf yazmamıştır, çünkü ona henüz bir satır vermediniz. İmleç yeni bir satırdadır. l, e, a ve f harflerini yazın. Terminal, tuşlara bastıkça bu harfleri gösterir. Bu gösterme, terminalin tuşlarınızı yinelemesidir. System.out.println değildir. Sonra Enter'a basın.
Enter beklemeyi bitirir. nextLine, leaf sözcüğünü plant içinde tutar ve Enter'ı tutmaz. Sonra println leaf yazar ve satırı bitirir. leaf görürsünüz, altında bir kez daha leaf. İlk leaf, terminalin gösterdiği tuşlardır. İkinci leaf programdır. Programın satırında tırnak yoktur. Dört harf, sonra satır biter. Program o yazma satırından sonra biter. Yalnızca programın satırına bakmak istiyorsanız, Enter'a bastıktan sonra görünen satıra bakın.
Programın satırı plant ise yazma satırında plant çevresinde tırnak vardır. Sakladığınız dosyada yoktur. Programın satırı mint ise yazma satırı hâlâ System.out.println("mint"); biçimindedir ya da dosya hâlâ daha eski bir sayfadan tırnak içindeki bir sözcüğü tutuyordur. java Mint beklemeden hemen leaf yazıyorsa dosya hâlâ tırnak içinde bir sözcük tutuyordur, örneğin String plant = "leaf";, ve nextLine kullanmıyordur. leaf çevresinde tırnak arayın. Sakladığınız dosyada yoktur. Ekran yanlış sözcüğü gösteriyor diye Java'yı yeniden kurmayın.
Büyük harfler yazdığınız gibi kopyalanır. Büyük L ile Leaf yazıp Enter'a basarsanız programın satırı Leaf olur. Dosyada o harfler hâlâ yoktur. Boş Enter da gerçek bir satırdır. Harf yazmadan Enter'a basın. nextLine, plant içinde hiçbir harf tutmaz. println harfsiz bir satır yazar. Program çalıştı. Bekleme bitti çünkü Enter'a bastınız. Sakladığınız dosya, leaf ile denediğiniz dosyadır; dört küçük harf.
Boşluk satırın içinde kalır
nextLine, Enter'a kadar okur, boşluğa kadar değil. leaf yazın, sonra bir boşluk, sonra stem, sonra Enter. plant içinde tutulan harfler leaf, bir boşluk ve stem'dir. System.out.println(plant) leaf stem yazar. Boşluk tutulan bir karakterdir; önceki sayfada tırnakların içindeki boşluk da tutulurdu. Bu sayfa satırı boşlukta kesmez. Sakladığınız dosya hâlâ tek satır okur. Ekranda boşluk istediğinizde yalnızca yazdığınız şeyi değiştirirsiniz, dosyayı değil.
İki yazılmış satır, iki Enter
Bir reader ikinci satırı da alabilir. İlk yazma satırının altına aynı adın içine yeni bir satır koyun, sonra adı bir kez daha yazın. Yeni tutma satırı plant = reader.nextLine(); biçimindedir. String ile başlamaz. plant zaten vardır, bu yüzden bu satır yalnızca adın tuttuğu harfleri değiştirir. Sonraki yazma satırı yine System.out.println(plant); biçimindedir. Program artık iki kez bekler. Her nextLine kendi Enter'ını bekler.
Bu ikinci dosyadır. Sakladığınız dosya değildir. Sakladığınız dosya bir kez bekler ve bir kez yazar. İki yazılmış satır istediğinizde bu ikinci dosyayı Mint.java olarak kaydedin, sonra tek nextLine ile tek println'i geri koyun.
import java.util.Scanner;
public class Mint {
public static void main(String[] args) {
Scanner reader = new Scanner(System.in);
String plant = reader.nextLine();
System.out.println(plant);
plant = reader.nextLine();
System.out.println(plant);
}
}
javac Mint.java yazın. Dosya düzgünse javac hiçbir satır yazmaz. İkinci tutma satırında String olmaması serbesttir ve bu yokluk javac'ı başarısız yapmaz. Sonra java Mint yazın. Program bekler. leaf yazın ve Enter'a basın. Terminal leaf gösterir ve program onun altına leaf yazar. Program yine bekler. Bitmemiştir. stem yazın ve Enter'a basın. Terminal stem gösterir ve program onun altına stem yazar. Programın satırları leaf, sonra stem'dir. Terminalin tuşlardan gösterdiği harfler bu satırların her birinin üstündedir. Programın iki satırı da leaf diyorsa ikinci nextLine çalışmamıştır ya da iki kez de leaf yazmışsınızdır. İkinci satırı yazmadan program stem yazıyorsa ikinci println bir ikinci nextLine altında değildir. Ekran dosyadaki satır sırasını izler ve her bekleme, henüz Enter almamış nextLine'ı izler.
Aynı ad için String'i ikinci kez yazmayın. plant'i zaten oluşturmuş bir satırın altına yazılan String plant = reader.nextLine(); başka bir hatadır. O satır plant'i yeniden oluşturmaya çalışır. javac bir hata yazar ve sessiz kalmaz. O hatanın sözlerini ezberlemeniz gerekmez. Yararlı olan, javac'ın bir satır yazmış olmasıdır, bu yüzden henüz java Mint yazmazsınız. İkinci String'i silin ve plant = reader.nextLine(); bırakın. Ad bir kez oluşturulur. Sonraki satırlar yalnızca tuttuğu harfleri değiştirir. Sakladığınız dosyada ikinci bir nextLine yoktur. leaf'i ve ardından stem'i gördükten sonra tek satırlık dosyayı geri koyun.
import satırı public class üstündedir
import satırı yokken dosya Scanner'ı tanımaz. import java.util.Scanner; satırını siler ve sakladığınız dosyanın geri kalanını bırakırsanız javac bir hata yazar. Sessiz kalmaz. Okunacak bir ekran yoktur, çünkü javac hata yazarken java Mint yazmazsınız. Hatanın sözlerini ezberlemeniz gerekmez. Düzeltme, import java.util.Scanner; satırını noktalı virgülüyle birlikte ilk satır olarak public class Mint üstüne geri koymaktır. Kaydedin, javac Mint.java komutunu bir kez daha yazın ve javac hiçbir satır yazmayana kadar bekleyin.
Bu üçüncü dosyada import yoktur. Sakladığınız dosya değildir. Yalnızca javac hatayı yazana kadar kaydedin, sonra import satırını geri koyun.
public class Mint {
public static void main(String[] args) {
Scanner reader = new Scanner(System.in);
String plant = reader.nextLine();
System.out.println(plant);
}
}
import satırı main içindeyse, açılış küme ayracının altındaysa ya da public class altındaysa o da başarısız olur. Java import'u public class üstünde okur, main içinde bir adım olarak değil. Onu ilk satıra geri koyun. O satırda noktalı virgülün eksik olması aynı türden bir başarısızlıktır: javac bir hata yazar ve java Mint çalıştırmazsınız. Sakladığınız dosyada noktalı virgül vardır.
Bu sayfanın reader'ı bağladığı tek yer System.in'dir. Scanner reader = new Scanner(System.out); ekranda bir okuma aracı ister. System.out, println'in yazdığı yerdir. Yazılan harflerin okunduğu yer değildir. javac bir hata yazar. Sessiz kalmaz. java Mint yazmayın. O tek satırda System.out'u System.in yapın. Yazma satırı System.out tutar, çünkü yazma satırı ekrandır. reader satırı System.in tutar, çünkü reader satırı klavyedir. İkisini karıştırmak hatadır.
Bu dördüncü dosya aracı ekrana bağlar. Sakladığınız dosya değildir. Yalnızca javac hatayı yazana kadar kaydedin, sonra out'u in yapın.
public class Mint {
public static void main(String[] args) {
Scanner reader = new Scanner(System.out);
String plant = reader.nextLine();
System.out.println(plant);
}
}
reader önce var olmalıdır
Java dosyayı yukarıdan okur. reader'ı yapan satır, reader'ı kullanan satırın üstünde olmalıdır. Önce String plant = reader.nextLine(); olur da sonra Scanner reader = new Scanner(System.in); yazılırsa tutma satırı, reader var olmadan reader adını kullanır. javac bir hata yazar. Sessiz kalmaz. Bu, plant'in String plant'ten önce kullanıldığı önceki sayfadaki sıra kuralının aynısıdır. Düzeltme, Scanner satırını nextLine satırının üstüne taşımaktır. Bir ad, onu oluşturan satırdan daha yukarıdaki bir satırda kullanılmaz.
Bu beşinci dosyanın sırası bozuktur. Sakladığınız dosya değildir. Yalnızca javac hatayı yazana kadar kaydedin, sonra Scanner satırını nextLine üstüne geri koyun. Gerçekten çalıştırdığınız bir dosyada import satırı hâlâ gereklidir. Bu bozuk dosya import'u tutar ki yeni hata yalnızca sıra olsun.
import java.util.Scanner;
public class Mint {
public static void main(String[] args) {
String plant = reader.nextLine();
Scanner reader = new Scanner(System.in);
System.out.println(plant);
}
}
javac Mint.java yazın. javac bir hata yazar. java Mint yazmayın. Scanner reader = new Scanner(System.in); satırını String plant = reader.nextLine(); üstüne koyun. Kaydedin. javac Mint.java komutunu bir kez daha yazın. Şimdi javac hiçbir satır yazmaz. Sonra java Mint bekler. leaf yazın, Enter'a basın, program leaf yazar.
Yazma satırındaki tırnaklar hâlâ önceki sayfadaki anlamı taşır. Gerçek bir nextLine sonrasında yazma satırı System.out.println("plant"); ise leaf yazıp Enter'a basabilirsiniz ve programın satırı yine plant olur. İşaretler p, l, a, n ve t harflerini işaretler. Java adı aramaz. Yazdığınız satır plant içinde tutuldu ve hiç yazılmadı. Düzeltme çıplak addır: System.out.println(plant);. Sakladığınız dosyada bu çıplak ad zaten vardır. Tutma satırında da leaf çevresine tırnak koymayın. String plant = "leaf"; leaf'i dosyanın kendisinden tutar ve hiç beklemez. Bu sayfa nextLine'ı tutma satırında bırakır ve yazma satırını çıplak bırakır.
Artık Mint.java çalıştırabilir, bekleyebilir, bir satır yazabilir, Enter'a basabilir ve programın o satırı yazdığını görebilirsiniz. import java.util.Scanner; public class üstündedir. Scanner reader = new Scanner(System.in); aracı klavyede yapar. String plant = reader.nextLine(); satırı tutar, Enter olmadan. System.out.println(plant); onu yazar ve satırı bitirir. Daha sonraki bir plant = reader.nextLine(); ikinci Enter'ı bekler. import, System.in ve reader'ın kullanılmadan önce var olması javac'ı sessiz bırakır. Sonraki sayfa klavyeyi bırakır. Bir adın, o değerleri dosyaya kendiniz yazdığınızda tutabildiği değer türlerine bakar ve sayıdan başlar, yazdığınız bir satırdan değil.
Ekran, yazdığınız satırdır
Sakladığınız dosyada leaf yoktur. java Mint sonrasında leaf yazarsınız ve Enter'a basarsınız. Terminal o yazmayı gösterir. Sonra program sonraki satırda leaf yazar. Yazdığınız bir boşluk o satırın parçasıdır. İkinci nextLine ikinci Enter'dır ve sakladığınız dosyada yoktur.
🧠 Bilginizi Test Edin
Bilginizi Test Edin
Bu interaktif sınavla kendini test et ve konuyu ne kadar iyi anladığını gör
📝 Talimatlar
- Her soruyu dikkatle okuyun
- Her soru için en iyi cevabı seçin
- Quiz'i istediğiniz kadar tekrar alabilirsiniz
- İlerlemeniz üstte gösterilecek