Grundlagen der Programmierung mit Processing lernen - #3 Konvertierung von Variablen

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.

Einfügen

Warum kann es nötig sein, Variablen in andere Typen umzuwandeln?

Stell dir folgendes vor: Der Nutzer einer Software soll sein Alter in ein Textfeld eintragen, dann handelt es sich bei der Eingabe zunächst um einen String. Anschließend soll mit dem eingegeben Alter gerechnet werden, aber mit Text rechnen wird schwierig. Hier ergibt sich also die Notwendigkeit, einen String-Wert in den Wert einer Ganzzahl umzuwandeln.

Den Vorgang dieser "Übersetzung" oder Umwandlung von Datentypen in einen anderen Datentyp nennt man Konvertierung.

Einfügen

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".


Einfügen

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.

Einfügen

Aufgaben und Quizfragen

Aufgabe 1

Konvertiere eine Variable a vom Typen float , welche Du zuvor mit dem Wert 6.7f initialisiert hast, in eine int-Variable mit der Bezeichnung b. Gib die Variable b anschließend in der Konsole aus. Schau dir an, was mit dem konvertierten Wert passiert ist.

Aufgabe 2

Konvertiere eine Variable c vom Typen double , welche Du zuvor mit dem Wert 8.356893456726789 initialisiert hast, in eine float-Variable d. Gib die Variable d anschließend in der Konsole aus. Schau dir an, was mit dem konvertierten Wert passiert ist.

Aufgabe 3

Konvertiere eine Variable e  vom Typen int, mit dem Wert 5, in eine Zeichenkette f. Gib die Variable f anschließend in der Konsole aus. Schau dir an, was mit dem konvertierten Wert passiert ist.

Quiz
Einfügen

Wie gehts weiter?

Im nächsten Teil des Kurses schauen wir uns die Vergleichsoperatoren, Boolesche Variablen und das if-Statement an.

Da geht es weiter... Teil 4
Einfügen