„Amigo, deine Zeit ist gekommen. Jetzt werde ich dir etwas über die Tastatureingabe erzählen.“

„Wir haben System.out verwendet, um Daten auf dem Bildschirm anzuzeigen. Um Eingaben zu erhalten, verwenden wir System.in.“

„Das hört sich einfach an.“

„Aber System.in hat ein Manko: Wir können damit nur Zeichencodes von der Tastatur einlesen. Um dieses Problem zu umgehen und große Datenmengen auf einmal zu lesen, verwenden wir ein komplexeres Konstrukt:“

Beispiel 1
Eine Zeichenkette und eine Zahl über die Tastatur eingeben
InputStream inputStream = System.in;
Reader inputStreamReader = new InputStreamReader(inputStream);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);

String name = bufferedReader.readLine(); //Read a string from the keyboard
String sAge = bufferedReader.readLine(); //Read a string from the keyboard
int nAge = Integer.parseInt(sAge); //Convert the string to a number.
Beispiel 2
Eine kompaktere Version des vorherigen Beispiels:
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

String name = reader.readLine();
String sAge = reader.readLine();
int nAge = Integer.parseInt(sAge);
Beispiel 3
Noch kompakter
Scanner scanner = new Scanner(System.in);
String name = scanner.nextLine();
int age = scanner.nextInt();

„Irgendwelche Fragen?“

„Äh... Ich habe nichts davon verstanden.“

„Wenn du eine Zeichenkette von der Tastatur einlesen möchtest, nutzt du am besten ein BufferedReader -Objekt. Aber dafür musst du das Objekt übergeben, von dem du Daten lesen willst. In diesem Fall ist das System.in.“

„Aber System.in und BufferedReader sind inkompatibel, also verwenden wir einen Adapter – ein InputStreamReader-Objekt.“

„Ich glaube, jetzt verstehe ich es. Was ist diese Scanner-Klasse?“

„Scanner kann praktisch sein, ist aber nicht sehr nützlich. Die Sache ist die, dass du auf deinem weiteren Weg (sowohl beim Lernen als auch bei der Arbeit) sehr oft BufferedReader und InputStreamReader verwenden wirst, Scanner dagegen nur sehr selten. In unserem Beispiel ist es praktisch, aber in Zukunft wirst du es nicht sehr oft gebrauchen können. Also werden wir es nicht so oft verwenden.“

„Okay, aber ich bin mir nicht sicher, ob ich alles verstanden habe.“