Datentyp: Unterschied zwischen den Versionen
Hauer (Diskussion | Beiträge) (→Objektdatentypen) |
Hauer (Diskussion | Beiträge) (→Beispiel) |
||
Zeile 59: | Zeile 59: | ||
* [...] */ | * [...] */ | ||
} | } | ||
+ | </source> | ||
= Datenstrukturen = | = Datenstrukturen = |
Version vom 29. April 2016, 19:40 Uhr
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.
Inhaltsverzeichnis
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.