Mehr zum Thema Typen
Mit String
, int
und double
haben wir drei verschiedenen Datentypen kennengelernt.
Wir werden im Verlaufe dieses Kurses noch zahlreiche weitere Typen von Java kennenlernen und, viel wichtiger, auch eigene Typen definieren.
An dieser Stelle wollen wir aber diskutieren, warum wir überhaupt Typen brauchen.
Und warum wird diesem Konzept in der modernen Programmierung sehr viel Aufmerksamkeit gewidmet?
Typen als Interpretationshilfe für den Computer
Wenn wir eine Variable deklarieren, muss Java im Arbeitsspeicher des Computers Speicher reservieren, damit der Wert später gespeichert werden kann.
Wie viel Speicher genau reserviert werden muss, hängt vom Datentyp ab.
Das Speichern einer Gleitkommazahl vom Typ double
benötigt zum Beispiel doppelt so viel Speicher wie eine Ganzzahl vom Typ int
.
Wenn wir dann auf den Wert der Variablen zugreifen, muss der Computer das Bitmuster1 im Arbeitsspeicher lesen.
Um zu Wissen, wie viele Bytes2 gelesen werden sollen und wie die Daten zu interpretieren sind, muss Java Wissen, von welchem Typ die gelesene Variable ist.
Es gibt Programmiersprachen, wie zum Beispiel Python, die selbst Buch darüber führen, welche Variable von welchem Typ ist. Der Programmierer wird also quasi von dieser Aufgabe befreit. Dies ist aber nur auf den ersten Blick ein Vorteil. Viel wichtiger sind nämlich die zwei nachstehend genannten Punkte.
Typen bestimmen, welche Operationen wir aufrufen können
In einem Computerprogramm wollen wir Werte nicht nur Speichern, sondern auch mit den Werten rechnen und Operationen darauf ausführen.
Welche Operationen mit einem Wert ausgeführt werden können, wird durch den Typ bestimmt.
So macht es zum Beispiel Sinn, zwei Ganzzahlen vom Typ int
zu addieren.
Es ist jedoch sinnfrei zu versuchen, zwei Texte vom Typ String
zu dividieren.
Wenn wir beim Programmieren den Typ der Variablen explizit deklarieren, kann der Computer beim kompilieren des Programms überprüfen, dass wir nur gültige Operationen auf den Werten aufrufen.
Moderne Entwicklungswerkzeuge (wie Jupyter-Notebooks) können uns auch während dem Programmieren eine Liste von allen Operationen anzeigen, die für einen Wert definiert sind.
Dies ist eine grosse Hilfe beim Programmieren.
Typen um Konzepte auseinanderzuhalten
Der wichtigste Grund, weshalb Typen eingesetzt werden, ist, dass Sie uns beim Programmieren unterstützen.
Beim Programmieren müssen wir einer Maschine ganz genau mitteilen, was gemacht werden soll.
Der Computer führt dann genau das aus, was wir geschrieben haben.
Menschen machen aber oft Fehler und sind nicht besonders gut im exakten Arbeiten.
Die Deklaration von Typen hilft uns, Fehler zu vermeiden, indem wir Java explizit mitteilen, mit welchem Typ von Daten wir arbeiten wollen.
Dadurch kann Java überprüfen, ob die Daten, die wir verwenden, auch wirklich vom richtigen Typ sind.
Wenn wir eine Strassennamen als String
und die Hausnummer als int
angeben müssen, dann kann uns Java anhand der Typen sagen, falls wir die Werte aus Versehen vertauscht angeben.
Oder wenn wir aus einer Berechnung als Resultat eine Gleitkommazahl erhalten, diese dann aber einer Ganzzahl zuweisen, dann haben wir wahrscheinlich irgendwo einen Fehler gemacht.
Typen definieren also Konzepte, wie hier Text, Ganzzahlen und Gleitkommazahlen, und verhindern, dass wir Konzepte, die nichts miteinander zu tun haben, vermischen. Je genauer wird die Konzepte definieren, desto mehr kann uns Java helfen, Denkfehler aufzudecken und zu vermeiden.
Experimente
- Was passiert wenn Sie einer Variable vom Type
int
einen Wert vom TypString
zuweisen? - Was passiert wenn Sie einer Variable vom Type
int
einen Wert vom Typdouble
zuweisen? - Was passiert wenn Sie einer Variable vom Type
double
einen Wert vom Typint
zuweisen?
Haben Sie Fragen oder Bemerkungen? Schreiben Sie diese doch ins Forum.