Datentypen
Wir haben den Begriff Datentyp bereits sehr häufig benutzt und auch schon einige Datentypen kennengelernt.
So kennen wir zum Beispiel die Datentypen int
oder double
welche zur Repräsentation von Zahlen dienen.
Um Texte zu repräsentieren kennen wir den Datentypen String
.
In diesem Artikel vertiefen wir das Konzept Datentyp und besprechen, was genau ein Datentyp ist.
Was ist ein Datentyp
Etwas abstrakt formuliert, ist ein Datentyp eine Menge von Werten, zusammen mit Operationen die auf diesen Werten definiert sind. Jeder Wert, den wir in Java darstellen können, ist also eine Instanz eines bestimmten Datentyps.
Der Datentyp int
zum Beispiel definiert die Menge der Ganzzahlen im Intervall .
Jede Instanz von diesem Typ entspricht einem Wert aus diesem Wertebereich (z.B. 42
).
Zusätzlich sind auf dem Datentyp int
Operationen zum Arbeiten mit Zahlen definiert.
So stellt uns Java zum Beispiel die arithmetischen Operationen +
, −
, ⋅
, /
zur Verfügung.
Oder wir können zwei Zahlen mittels der Vergleichsoperatoren vergleichen.
Natürlich unterstützt nicht jeder Datentyp dieselben Operationen.
Für den Datentyp Array zum Beispiel macht es keinen Sinn, eine Divisionsoperation zu definieren.
Dafür haben wir bei Arrays die Index-Operation []
um auf Elemente zuzugreifen.
Oder wir können die Operation length
verwenden, um die Anzahl Elemente eines Arrays zu bestimmen.
Datentypen in der Objektorientierten Programmierung
Java ist eine objektorientierte Programmiersprache. In Objektorientierten Programmiersprachen wird eine spezielle Terminologie für Datentypen, Werte und Operationen verwendet. In der Objektorientierten Programmierung werden Datentypen durch Klassen repräsentiert. Die Operationen, die auf den Datentypen definiert sind, werden mittels Methoden implementiert.
Um eine Instanz, also ein Wert, von einem bestimmten Datentyp zu erzeugen, wird das Schlüsselwort new
benutzt, gefolgt vom Namen des Datentyps.
Dies ist in folgendem Beispiel illustriert:
// Erzeugen eines Werts des Datentyp Strings
String s = new String("hello world");
Operationen auf einem Wert werden mittels Methodenaufrufen ausgeführt. Dies erfolgt mit dem Punktsyntax.
// Anwenden der Operation length auf dem Wert "hello world"
s.length();
In der Objektorientierten Programmierung werden die Instanzen oder Werte von Datentypen Objekte genannt.
Die Variable s
in obigem Beispiel ist, genauer referenziert ein Objekt vom Datentyp String
.
Die Operation length
arbeitet auf dem Wert, also den Daten die vom Objekt s
repräsentiert werden.
In unserem fall wird die Methode length
also auf dem Text hello world
angewandt.
Wir werden später lernen wie wir mittels Klassen eigene Datentypen definieren.
Dabei werden wir auch Methoden schreiben, die auf den von einem Objekt repräsentierten Werten arbeiten.
Im Moment ist nur wichtig, dass Sie die Terminologie verstehen, und dass Sie verstehen, dass die Methode im obigen Beispiel mit den von s
referenzierten Daten arbeiten kann.
Haben Sie Fragen oder Bemerkungen? Schreiben Sie diese doch ins Forum.