12 Die Grunddatentypen
12.1 Übersicht über die Grunddatentypen
 
  Werfen wir zunächst einen Blick auf den (Zahlen)bereich in dem die Grunddatentypen operieren:
 
Grunddaten- typen
Typ Beschreibung Bereich
boolean Wahrheitswert
Boolscher Wert
true, false
char Einzelzeichen
Unicode (16 Bit)
'\u0000'...'\uffff'
byte 8-Bit-Ganzzahl
Zweierkomplement
-128...0...127
short 16-Bit-Ganzzahl -32768...0...32767
int 32-Bit-Ganzzahl -2 147 483 648 ...0...2 147 483 647
long 64-Bit-Ganzzahl ca. -9 e18 ...9 e18
float 32-Bit-Gleitkommazahl ca. -3.402823e88 .. 0..3.402823e88
kleinste Zahl >0: 1.4e-45
double 64-Bit-Gleitkommazahl ca. -1.797639e308 ..0.. 1.797639e308
kleinste Zahl > 0: 4.9e-324

Tabelle 12.1.1

In Kap. 10 heben wir uns bereits mit dem Typ boolean beschäftigt.  Zeichen, also Daten vom Typ char werden wir uns in 12.3 näher ansehen. Wenden wir uns also den Daten vom Typ byte zu und analysieren wir zwei kleine Testprogrämmchen.
 

zwei Testpro- grämmchen

Download:
ByteTest1.java
ByteTest2.java

public class ByteTest1 {

  public static void main (String[] args) {
      byte byteZahl = 0;
      byteZahl = byteZahl + 1;
      System.out.println(byteZahl);
  }
}
public class ByteTest2 {

  public static void main (String[] args) {
      byte byteZahl = 127;
      byteZahl++;
      System.out.println(byteZahl);
  }
}
  Das erste Programm lässt sich gar nicht erst kompilieren. Das liegt daran, dass der Infix-Operator1) '+' nicht für Werte vom Typ byte definiert sind. Ersetzen wir die Zeile

byteZahl = byteZahl + 1;

durch

byteZahl++; oder byteZahl += 1;

so lässt sich das Programm problemlos kompilieren und es tut auch, was es soll.

Die Ausgabe des zweiten Programms ist überraschend. Nach den Regeln der Addition erwartet man 128 und nicht -128. Allenfalls erwartet wir einen Fehler in der Ausgabe, da, wie unsere Tabelle zeigt, der Zahlenbereich von byte-Zahlen durch die Addition überschritten ist.

Ersetzt man nun unsere Zeile

byteZahl++;

durch

byteZahl+=2;

so erhält man -127 in der Ausgabe. Im Kapitel 12.3 wollen wir diese Merkwürdigkeiten auflösen und lernen, wie byte-Zahlen, aber auch short-, int-  und long-Zahlen im Rechner dargestellt werden. Zunächst aber nehmen wir uns die Zeit für kleines Intermezzo über Dualzahlen.
 

Fußnote  

1)

Ein Operator heißt Infix-Operator, wenn er zwischen den beiden Operanten steht, die Infixnotation ist also a + b. Die Addition zweier Zahlen a und b in Präfixnotation wäre + a b und in Postfixnotaion a b +.

[zurück]

zu 12.2 Das Dualsystem
  www.pohlig.de (C) MPohlig 2005