In diesem Kurs führe ich dich in kleinen Schritten in die Grundlagen der Programmierung ein. Wir nutzen dazu die Anfängerfreundliche Hochsprache "Processing" (ein Java Dialekt). Das hier Erlernte ist aber auf alle Hochsprachen und in weiten Teilen auch auf Scriptsprachen übertragbar.
In dieser Folge geht es um die Konvertierung von Variablen in einen andere Datentypen.
Warum kann es nötig sein, Variablen in andere Typen umzuwandeln?
Den Vorgang dieser "Übersetzung" oder Umwandlung von Datentypen in einen anderen Datentyp nennt man Konvertierung.
Die 2 Arten der Konvertierung
Man unterscheidet dabei implizite und explizite Konvertierung.
Eine implizite Konvertierung wird vom Compiler direkt erkannt und kann dann erfolgen, wenn bei der Konvertierung keine Fehler oder Verluste auftreten können.
Das wäre z.b. bei der Konvertierung einer Ganzzahl vom Typ int in eine Kommazahl vom Typen float der Fall. Die Zahl 100 enthält die gleiche Information, wie die Zahl 100,00. Hier wird die Konvertierung vom Compiler direkt vorgenommen.
Andersrum, von float in int, ist es dagegen problematisch. Warum?
Der Typ int ist für Ganzahlen bestimmt, er kann Kommazahl nicht darstellen. Das heißt die Informationen hinter dem Komma gehen verloren, sie werden einfach abgeschnitten. Ein solche Konvertierung muss angewiesen werden. Dazu gibt es zwei verschiedene Möglichkeiten. Im unteren Beispiel wird der Datentyp, in den konvertiert werden soll, in Klammern vor die zu konvertierende Variable geschrieben. Dieser Vorgang nennt sich "Cast".
Methoden der Wrapperklassen zur Konvertierung nutzen
Die Konvertierung von Strings in Primitive Datentypen funktioniert nicht via Cast. Wir haben bereits gelernt, dass String eine Klasse ist und Variablen des Typs String verweisen auf Objekte dieser Klasse. Es sind keine Variablen primitiver Typen. Da wir uns das Thema "Objektorientierung" noch nicht angeschaut haben, wird es bis dahin noch nicht ganz zu verstehen sein.
Für den Moment wollen wir nur festhalten, dass es für jeden primitiven Datentypen in Java bzw. Processing eine s.g, Wrapperklasse gibt. Nachfolgend eine Übersicht der Wrapperklassen.
Primitiver Typ | Wrapperklasse |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
char | Character |
boolean | Boolean |
Diese Wrapper haben bestimmte Anwendungszwecke unter anderem bieten Sie Methoden zur Konvertierung. Weitere Anwendungszwecke werden sich im Laufe des Kurses ergeben. Im nächsten Beispiel werden die Wrapperklassen zur Konvertierung von Strings verwendet.
Da im obigen Fall auch Fehler auftreten können, z.b. wenn es sich nicht um Zeichen handelt, die in eine Zahl umgewandelt werden können, wäre hier eigentlich eine Fehlerbehandlung nötig, falls dieser Wert von einem Nutzer eingegeben würde. Aber dazu später mehr.
Aufgaben und Quizfragen
Wie gehts weiter?
Im nächsten Teil des Kurses schauen wir uns die Vergleichsoperatoren, Boolesche Variablen und das if-Statement an.