Java Datentypen
Willemers Informatik-Ecke

Standardtypen

Neben dem Namen hat eine Variable einen Typ. Er bestimmt, welche Art von Werten eine Variable aufnehmen kann, beispielsweise Zahlen oder Zeichen. Die folgende Tabelle gibt einen Überblick über die primitiven Typen.

boolean8 BitWahrheitswert, kann true oder false sein
byte8 BitEin Byte für kleine Zahlen
char16 BitBuchstaben
short16 BitKleine ganze Zahlen
int 32 BitGanze Zahlen
long64 BitGroße ganze Zahlen
float32 BitZahl mit Nachkommastellen
double64 BitEtwas mehr Platz für Nachkommawerte

Zahlenvariablen können sowohl negative als auch positive Werte annehmen. Es gibt keine unsigned-Variablen wie beispielsweise in C++.

Literale primitiver Typen

Operatoren

Die Operationen, die auf Variablen angewandt werden können, sind von ihrem Typ abhängig. Zahlenwerte können mit den Grundrechenarten verrechnet werden. Das gilt auch für char, der eigentlich ein verkappter Zahlentyp ist.

Die Berechnung erfolgt von links nach rechts, allerdings gilt wie in der Mathematik, dass die Punkt- vor der Strichrechnung geht. Zunächst werden also Multiplikation, Division oder Modulo gerechnet, bevor Addition oder Subtraktion durchgeführt werden.

Wie in der Mathematik kann diese Regeln durch Klammern durchbrochen werden.

Kurzfassungen

Taucht in einer Zuweisung dieselbe Variable sowohl rechts als auch links vom Gleichheistzeichen auf, wird zunächst der Ausdruck auf der rechten Seite ausgewertet und dann dem LValue auf der linken Seite zugewiesen.

Soll der Inhalt einer Variablen wert verdoppelt werden, führt man folgende Anweisung aus:

wert = wert * 2;
Dieser Fall kann verkürzt werden:
wert *= 2;

Inkrement und Dekrement

Das gleiche Verfahren kann für alle numerischen Operatoren verwendet werden. Beim Inkrementieren und Dekrementieren gibt es noch ein weitere Besonderheit. Dort kann ein doppeltes Plus beziehungsweise ein doppeltes Minus vor oder hinter die Variable gestellt werden, also a++, ++a, a-- oder --a.

Wird das ++ vor die Variable gestellt, wird die Variable vor der Auswertung inkrementiert. Das kann beispielsweise wichtig sein, wenn der Ausdruck als Parameter an eine Methode übergeben wird, hier System.out.println:

public class Inkrement {
    public static void main(String[] args) {
        int a = 4;
        a++;  // hier könnte gleichwertig ++a stehen
        System.out.println(a++); // Ausgabe: 5
        System.out.println(++a); // Ausgabe: 7
        System.out.println(a);   // Ausgabe: 7
    }
}
Dieser Effekt führt auch dazu, dass die folgende Anweisung, die manchmal fehlerhafterweise in einem Programm auftaucht an der Variablen a keinerlei Veränderung herbeiführt:
a = a++; // Variable a ändert sich nicht
Die Operatoren ++ und -- sind im Gegensatz zu den bisher kennengelernten Operatoren unär, sie brauchen also nur einen Operanden. Der Zuweisungsoperator oder der Schrägstrich sind binär, sie erwarten zwei Operanden. Plus und Minus sind unär Vorzeichen und werden binär zur Addition bzw. Subtraktion verwendet.

ZeichenOperandenzahlBedeutung
= binär Zuweisung
++ unär Inkrement
-- unär Dekrement
+ unär Vorzeichen
+ binär Addition
- unär Vorzeichen
- binär Subtraktion

Konstanten

Konstanten werden wie Variablen definiert. Durch das Attribut final bleiben sie unveränderbar.

final int MAXFACH = 25;

Üblicherweise werden konstante Variablen in Großbuchstaben notiert.