12.5 Typische Fehler

System.out.print() und System.out.println()

Beide Befehle erzeugen einer Konsolenausgabe von Texten.

  • Die Methode print() lässt den Schreibzeiger an der aktuellen Position stehen. Die nächste Konsolenausgabe erfolgt in der gleichen Zeile
  • Die Methode println() (ln= Line) erzeugt am Ende des ausgegebenen Texts einen Zeilenumbruch. Die nächste Konsolenausgabe erfolgt in der nächsten Zeile.

Beispiele

Quellcode Ausgabe
System.out.print("Person: ");
System.out.println("John Doe");
System.out.println("****************");
Person: John Doe
****************

aber:

Quellcode Ausgabe
System.out.println("Person: ");
System.out.println("John Doe");
System.out.println("****************");
Person: 
John Doe
****************

String ist eine Klasse und kein Basistyp

Java kann Zeichenketten nicht als Basistypen verwalten. Hierzu verwendet Java eine Klasse mit dem Namen String. Zeichenketten werden wie Objekte behandelt

Die hat eine Reihe von Konsequenzen:

  • String ist kein Schlüsselwort
  • Variablen vom Typ String sind nur Zeiger auf Zeichenketten
    • Es gibt Situationen in denen zwei Variablen auf zwei Zeichenketten mit dem gleichen Inhalt zeigen. Dies können eventuell verschiedene Objekte sein.

Verwechslung von Zuweisungsoperator (=) und Vergleichsoperator (==)

Mit

i=j;

wird der Wert von j auf i zugewiesen. Mit

if(i==j)

werden zwei Variablen verglichen.

Zuweisungen tauchen nicht in boolschen Termen auf!

Die folgende Syntax ist korrekt:

int i=0;
int j=1;
boolean b = (i==j);

Die Boolsche Variable b wird mit false belegt da i ungleich j ist.