Typen von Variablen (Vertiefung)

Eine Variable ist wie ein Becher

Eine Variable ist einfach ein Becher. Ein Behälter. Sie enthält etwas.

Wir benutzen auch das Bild von einer Schublade, um zu betonen, das in einer Variablen etwas gespeichert werden kann.
Das Bild vom Becher soll dazu dienen, dass eine Variabel nur eine spezielle Art von Daten speichern kann.

Stelle dir eine Variable vor wie einen Becher oder einen Container: die Variable nimmt etwas auf, sie beinhaltet etwas.

Zunächst werden wir uns die Variablen (Becher) ansehen, die elementare Typen enthalten. Etwas später kommen wir zu den Bechern, die Referenzen auf Objekte enthalten.

Es ist leicht einzusehen, dass ich für die Zahl 2349834 einen größeren Becher brauche als für die Zahl 23. Daher hält Java für ganze Zahlen eine ganze Reihe unterschiedlicher Datentypen bereit, die jeweils verschieden große Becher benötigen:
Auch in Java kommen elementare Typen in unterschiedlichen Größen vor, die jeweils unterschiedlichen Namen haben. Wenn du in Java eine Variable deklariert ist, musst du sie mit einem bestimmten Typ deklarieren.

Jede Variable eines elementaren Typs besitzt eine festgelegte Anzahl von Bits (die Bechergröße). Die Größen der sechs elementaren numerischen Datentypen von Java siehst du hier:

Ganzzahlen

Byte Short Int Long
Datentyp (Bezeichnung) byte short int long
Größe (in Bit) 8 16 32 64
Bereich -128 bis 127 -32768 bis 32767 -2147483648 bis 2147483647 (ca.) –10E+18 bis 10E+18
E+18 heißt, du musst das Komma (hier Punkt) um 18 Stellen nach rechts verschieben.
Beispiele für Deklarationen und Zuweisungen byte b;
byte c = 23;
b = 5;
c = c + 2*b;
short s;
short t = -23456;
s = 4;
s = s – 5*t;
t = c;
int i;
int j = 200000001;
i = c + s –j;
long l;
long m = 80000000000000000345;
l = c – s + j * 5m;

Teilmengen

Mathematisch kann man den oben beschriebenen Zusammenhang zwischen den Ganzzahl Datentypen mit Teilmengen (Wikipedia: "Teilmenge") beschreiben:
Teilmengen

  • alle Zahlen des Typs byte sind eine echte Teilmenge von allen Zahlen des Typs short.
  • alle Zahlen des Typs short sind eine echte Teilmenge von allen Zahlen des Typs int.
  • alle Zahlen des Typs int sind eine echte Teilmenge von allen Zahlen des Typs long.

Gleitkommazahlen

Float Double
Datentyp (Bezeichnung) float double
Größe (in Bit) 32 64
Bereich –3.410E+38 bis 3.4E+38 (ca.) –1.7E+308 bis 1.7E+308
Beispiele für Deklarationen und Zuweisungen float f;
float g = 32.5F;
f = 345.23*g;
double d;
double p = 2.3D;
d = 1.7 + 3.0 * p;

Teilmengen

Auch hier gilt analog zu den ganzen Zahlen: float ist echte Teilmenge von double.

Wir werden hauptsächlich die Datentypen int, double und boolean benutzen.

Weitere elementare Datentypen

Neben den Zahlentypen gibt es zwei weitere primitive Datentypen in Java: char und boolean. Die "Becher" für char-Variablen können Unicode-Zeichen (also z.B. Buchstaben oder Ziffern (keine Zahlen) aufnehmen, die für boolean-Variablen kennen nur zwei gültige Werte true oder false.

Float Double
Datentyp (Bezeichnung) char boolean
Größe (in Bit) 16 1
Bereich Unicode true bis false
Beispiele für Deklarationen und Zuweisungen char c;
char b = 's';
c = s;
s = '\n'; (neue Zeile)
c = '\u0009'; Unicode für das Literal t
boolean echtWahr;
boolean fleissig = true;
echtWahr = fleissig;
fleissig = 8 < 4;