Video anzeigen

In diesem Beitrag zeigen wir dir, wie die Java Eingabe und die Java Ausgabe genau funktioniert.

Du möchtest in kürzester Zeit verstehen, wie du ein Java Programm so programmierst, dass du etwas eingeben und wieder ausgeben lassen kannst? Dann ist unser Video genau das richtige für dich!

Inhaltsübersicht

Java Eingabe und Java Ausgabe – Was ist damit gemeint?

Die Java Eingabe und Java Ausgabe wird auch häufig mit I/O abgekürzt. Dabei steht I für Input und O für Output und ist für die Benutzer des Programms essentiell. Da es sich genau genommen um sogenannte Ströme (englisch streams) handelt, spricht man auch häufig vom Eingabestrom und Ausgabestrom.

Die Eingabe und Ausgabe in Java ist dafür gedacht, die entsprechende Eingabe in eine Sprache umzuwandeln, die der Computer versteht, um die Daten verarbeiten zu können. Falls im Programm eine Java Ausgabe verlangt wird, muss die Ausgabe zunächst wieder in eine für uns verständliche Sprache umgewandelt werden.

Java IO
direkt ins Video springen
Input und Output

Das Konvertieren von Sprache zu Sprache ist so aufwendig, dass es dafür in Java vorprogrammierte Pakete gibt, die uns diese Arbeit ersparen. Damit können wir mittels einfacher Anweisungen eine Eingabe vom Benutzer verlangen, der dann automatisch konvertiert wird.

Java Scanner

Jetzt schauen wir uns einmal genauer an, wie man überhaupt eine Eingabe vom Benutzer mit einem Java Programm verlangen kann. Wie du schon weißt, gibt es dafür Pakete, die du nun in dein Programm einbinden musst. Nur so können wir deren Anweisungen benutzen.

Damit der Benutzer etwas in das Java Programm eingeben kann, benötigst du deshalb einen sogenannten Scanner. Mit diesem Java Scanner kann die Eingabe dann vom Programm verarbeitet werden. Damit du den Java Scanner benutzen kannst, musst du ihn zunächst wie folgt importieren:

import java.util.Scanner;

Es ist darauf zu achten, dass diese import Anweisung immer über der Klasse steht. Da der Compiler sonst einen Fehler meldet.

Java IO
direkt ins Video springen
Drei I/O-Streams

Bei diesem Scanner in Java handelt es einfach um eine Java Klasse, welche bestimmte Methoden für dich bereithält. Insbesondere die Methode System.in, welche einen Eingabestrom von der Tastatur erwartet. Damit du mit diesem Scanner arbeiten kannst, musst du zunächst in der main Methode  ein Objekt dieses Scanners erzeugen. Das erreichst du durch folgende Anweisung:

Scanner scanner = new Scanner(System.in);

Ein genaueres Beispiel schauen wir uns später noch an. Zunächst möchten wir dir die drei Input und Output Ströme in Java vorstellen.

System.in, System.out und System.err

In Java gibt es drei Möglichkeiten den Input und Output Strom zu verarbeiten: System.in der Eingabestrom, System.out, der Ausgabestrom für die normalen Ergebnisse und System.err, der Ausgabestrom für Fehlermeldungen. Während System.out und System.err mit dem Bildschirm verbunden sind, ist System.in mit der Tastatur verbunden und wartet auf Input.

Java Eingabe und Ausgabe mit String

Schauen wir uns einfach mal ein Java Programm an, das als Ausgabe unsere Eingabe ausgibt:

import java.util.Scanner;

class echo
{
    public static void main(String[] args)
    {
        String input;
        Scanner scan = new Scanner(System.in);
        
        System.out.println("Input: ");
        input = scan.nextLine();

        System.out.println("Output:");
        System.out.println(input);
    }
}

Die erste Zeile des Programms bindet die Klasse Scanner aus dem Paket java.util ein und ist nötig, um ein Objekt der Scanner Klasse zu erstellen. Ausschlaggebend in diesem Programm ist der String namens input, der die Eingabe des Benutzers speichert, um diese später wieder ausgeben zu können.

Damit der Input überhaupt aufgefangen werden kann, muss ein neuer Scanner deklariert und erzeugt werden. Der Scanner heißt in diesem Beispiel einfach scan.

Nachdem wir einen Scanner erstellt haben, können wir die Methode nextLine im Ausdruck der Zuweisungsanweisung für den Input-String aufrufen. Dadurch wird automatisch das Programm angehalten und es wird auf den Input des Benutzers gewartet. Durch das Benutzen der Enter-Taste bestätigt der Benutzer seine Eingabe und das Programm speichert die Information in der Variable input ab.

Am Schluss geben wir die Zeichen, welche wir eingegeben haben und nun in der Variablen input gespeichert sind mit System.out auf dem Bildschirm aus.

Java IO
direkt ins Video springen
Beispiel

Java Eingabe und Ausgabe mit Integer

Die Java Klasse Scanner besitzt neben System.in auch weitere Methoden. Sie enthält zum Beispiel auch eine Methode, mit welcher du Integer Zahlen eingeben kannst. Denn bis jetzt wurde deine Eingabe ja immer als String gespeichert. Um zum Beispiel einen Integer Wert als Eingabe zu verlangen, wird von der Klasse Scanner die nextInt Methode vorgegeben. Damit kannst du jetzt auch einen Interger Wert von dem Benutzer verlangen und als Integer speichern. Das obere Beispiel sieht dann modifiziert wie folgt aus:

import java.util.Scanner; 

class echo 
{ 
    public static void main(String[] args) 
    { 
        int input; 
        Scanner scan = new Scanner(System.in); 

        System.out.println("Input: "); 
        input = scan.nextInt(); 

        System.out.println("Output:"); 
        System.out.println(input); 
    } 
}

Der Benutzer darf dabei jedoch nur eine ganzzahlige Zahl ohne Komma eingeben. Ansonsten gibt das Programm eine Fehlermeldung aus und wird beendet.

Java IO
direkt ins Video springen
Scanner

Fehlermeldungen vermeiden

Es gibt verschiedene Arten, wie man den Benutzer davon abhalten kann Fehlermeldungen auszulösen. Betrachten wir hierzu einmal unser letztes Beispiel mit Integer Eingabe. Hier könntest du die Zuweisungsanweisung, die den Wert mittels nextInt in der Variablen var speichert in eine if-Anweisung verpacken. So wird der Input nur zugewiesen, wenn es sich auch wirklich, um einen Integer Wert handelt. Die if-Bedingung dazu wäre hasNextInt.  Diese ist auch eine Methode aus der Klasse Scanner, die überprüft, ob es sich bei dem Input, um einen integer Wert handelt oder nicht. Wenn das nicht der Fall ist, teilen wir das dem Benutzer mittels else mit.

Java IO
direkt ins Video springen
if else

Wir wollen dich noch darauf hinweisen, dass die Scanner Klasse noch weitere Methoden besitzt, aber wie du siehst reichen für die einfache Java Eingabe und Java Ausgabe schon zwei Methoden aus. Nun kannst du Programme mit einfacher Eingabe und Ausgabe in Java schreiben.

Hallo, leider nutzt du einen AdBlocker.

Auf Studyflix bieten wir dir kostenlos hochwertige Bildung an. Dies können wir nur durch die Unterstützung unserer Werbepartner tun.

Schalte bitte deinen Adblocker für Studyflix aus oder füge uns zu deinen Ausnahmen hinzu. Das tut dir nicht weh und hilft uns weiter.

Danke!
Dein Studyflix-Team

Wenn du nicht weißt, wie du deinen Adblocker deaktivierst oder Studyflix zu den Ausnahmen hinzufügst, findest du hier eine kurze Anleitung. Bitte .