Lernpfad:Würfelspiel in Java/Ein- und Ausgabe auf der Kommandozeile: Unterschied zwischen den Versionen

keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 2: Zeile 2:
== Ein- und Ausgabe auf der Kommandozeile ==
== Ein- und Ausgabe auf der Kommandozeile ==


Die Kommandozeile wird in Java über zwei Datenströme angesprochen. Diese können über die immer verfügbare <code>System</code> Klasse angesprochen werden.
Die Kommandozeile wird in Java über zwei Datenströme angesprochen, die in der immer verfügbaren {{Java API|java.lang.System}} Klasse enthalten sind.


; <code>System.out</code>
; <code>System.out</code>
: Die Ausgabe erfolgt über den <code>System.out</code> Datenstrom. Er bietet dieser ist ein Objekt der Klasse [https://docs.oracle.com/javase/8/docs/api/java/io/PrintStream.html PrintStream] und beherrscht dessen Methoden zur Ausgabe, wie <code>print(String)</code> und <code>println(String)</code>.
: Die Ausgabe erfolgt über den <code>System.out</code> Datenstrom. Dieser ist ein Objekt der Klasse {{Java API|java.io.PrintStream}} und beherrscht dessen Methoden zur Ausgabe, wie {{Java API|java.io.PrintStream|print-java.lang.String-|print(String)}} und {{Java API|java.io.PrintStream|println-java.lang.String-|println(String)}}.
; <code>System.in</code>
; <code>System.in</code>
: Um Daten von der Kommandozeile einzulesen steht unter <code>System.in</code> ein Objekt der Klasse [https://docs.oracle.com/javase/8/docs/api/java/io/InputStream.html InputStream] zur Verfügung. Dieser kann Daten in Form von ''Bytes'' einlesen. Zur einfacheren Handhabung stellt Java die Hilfsklasse <code>java.util.Scanner</code> zur Verfügung, mit der statt Bytes auch direkt ''Integer'' oder ''Strings'' eingelesen werden können.
: Um Daten von der Kommandozeile einzulesen, steht mit <code>System.in</code> ein Objekt der Klasse {{Java API|java.io.InputStream}} zur Verfügung. Dieser kann Daten in Form von ''Bytes'' einlesen. Zur einfacheren Handhabung stellt Java die Hilfsklasse {{Java API|java.util.Scanner}} zur Verfügung, mit der statt Bytes auch direkt ''Integer'' oder ''Strings'' vom Nutzer abgefragt werden können.


== Ausgaben auf der Kommandozeile ==
== Ausgaben auf der Kommandozeile ==


Ausgaben über den Ausgabestrom <code>System.out</code> können jederzeit in einem Javaprogramm gemacht werden.
Ausgaben über den Ausgabestrom {{Java API|java.lang.System|out|System.out}} können jederzeit in einem Javaprogramm gemacht werden.


<syntaxhighlight lang="java" line="1">
<syntaxhighlight lang="java" line="1">
Zeile 23: Zeile 23:
</syntaxhighlight>
</syntaxhighlight>


Für komplexere Ausgaben gibt es noch die Methode <code>printf(String, Object..)</code>, der man neben einem Text-Objekt
Für komplexere Ausgaben gibt es noch die Methode {{Java API|java.io.PrintStream|printf-java.lang.String-java.lang.Object...-|printf(String, Object...)}}, der du neben einem Text-Objekt
auch noch eine Reihe an weiteren Parametern übergibt, die dann im Text für vorgegebene Platzhalter eingesetzt werden. Dies
auch noch eine Reihe an weiteren Parametern übergibst, die dann im Text für vorgegebene Platzhalter eingesetzt werden. Dies
erlaubt wesentlich genauere Textformatierungen für Texte mit variablen Inhalten, als mit einfacher String-Verknüpfung durch  
erlaubt wesentlich genauere Textformatierungen für Texte mit variablen Inhalten, als es mit einfacher String-Verknüpfung durch  
<code>+</code>.
<code>+</code> möglich ist.


<syntaxhighlight lang="java" line="1">
<syntaxhighlight lang="java" line="1">
8.581

Bearbeitungen