Datentyp

Aus EINI
Wechseln zu: Navigation, Suche

Datentyp ist die Bezeichnung für die Interpretation und Semantik einer Menge von Daten. Zu einem Datentyp gehören Informationen wie Größe, Struktur und erlaubte Methoden und Operatoren.

Zu den Datentypen in Java gehört die Unterscheidung von primitiven Datentypen und Objektdatentypen.

Primitive Datentypen

Diese Datentypen werden als primitiv bezeichnet, da sie die grundlegenden Bausteine für andere Datentypen sind. Sie alle repräsentieren numerische Werte.

Die Größe, Struktur und Interpretation der primitiven Datentypen ist im Java-Standard vorgegeben (siehe: https://de.wikibooks.org/wiki/Java_Standard:_Primitive_Datentypen):

Datentyp Größe Wertebereich
boolean undefiniert true / false
char 16 Bit 0 ... 65.535
byte 8 Bit -128 ... 127
short 16 Bit -32.768 ... 32.767
int 32 Bit -2.147.483.648 ... 2.147.483.647
long 64 Bit -263 bis 263-1
float 32 Bit +/- 1,4*10-45 ... +/-3,4*10+38
double 64 Bit +/-4,9*10-324 ... +/-1,7*10+308

Variablen primitiver Datentypen werden beim Aufrufen von Funktionen per Call by Value übergeben. Das heißt, dass Veränderungen der Parametervariablen einer Funktion keinen Einfluss auf die übergebenen Variablen haben.

Objektdatentypen

Alle nicht primitiven Datentypen werden in Java durch ihre eigene Klasse definiert. Diese sind daher immer eine Kombination aus diversen primitiven oder anderen Objektdatentypen. Wie diese Daten zusammengesetzt werden und was sie bedeuten, ist im Quellcode zu definieren und zu dokumentieren.

Zudem gibt es viele nützliche Objektdatentypen in der Java-Standard-Bibliothek (z.B. String oder Array), die nicht zusätzlich in das Programm importiert werden müssen, sondern immer zur Verfügung stehen.

Beispiel

Eine Position auf der 2-Dimensionalen Ebene ist durch zwei double zu repräsentieren. Entsprechend wird dem ersten der double die Semantik der x-Koordinate und dem zweiten die Semantik der y-Koordinate zugewiesen. Dies kann in Java z.B. folgendermaßen geschehen:

public class Coordinate {
    public double x;
    public double y;
    /* Konstruktoren und Methoden *
     * [...]                      */
}
public class Bankaccount {
    public int accountNumber;
    public int bankNumber;
    public int bic;
    
    public long balance;
    /* Konstruktoren und Methoden *
     * [...]                      */
}

Datenstrukturen

Wie komplexe Datenstrukturen zusammengesetzt und verwendet werden können, findet man in ihren eigenen entsprechenden Artikeln:

Die Aufgabe eines Programmierers besteht jedoch meistens darin, aus den verschiedenen Datentypen und anderen Informationen seinen eigenen Datentyp zu basteln, der das Problem und die Lösungswege am besten repräsentiert.