Einführung in Java 6
Typanpassung (Casting) in Java
Manchmal kommt es vor, dass Datentypen konvertiert werden müssen. Dies bezeichnet man als Typanpassung oder casting.
In Java gibt es zwei Arten der Typanpassung:
- Automatische Typanpassung
Hier werden die Daten eines kleineren Datentyps automatisch (implizit) an den größeren angepasst. - Explizite Typanpassung
Hier wird ein größerer Datentyp einem kleineren zugewiesen. Dies geschieht allerdings nur mit einem Datenverlust.
automatische anpassung der grösse
byte und short werden automatisch bei Rechenoperationen in den Typ int umgewandelt.
Ist der Operand vom Typ long, dann werden alle Operanden auf long erweitert.
Wird als Ergebnis short oder byte verlangt, muß dies explizit angegeben werden.
Folgende Typumwandlungen sind ohne Informationsverlust möglich:
Von Typ |
In Typ |
byte |
short, char, int, long, float, double |
short |
int, long, float, double |
char |
int, long, float, double |
int |
long, float, double |
long |
float, double |
float |
double |
Explizite Typanpassung
Die explizite Anpassung engt einen Typ selbstverständlich ein.
Der gewünschte Datentyp wird vor dem umzuwandelnden Datentyp geschrieben. Der gewollte Datentyp ist geklammert.
Beispiel:
Umwandlung einer Fließkomma- in eine Ganzzahl. Als Typ möchten wir int haben.
(int) 3.141592654
Hier ein Programm, welches den Mittelwert zweier Zahlen berechnet und das Ergebnis zuerst als Gleitkomma- und dann als Ganzzahl ausgibt.
public class Main { public static void main(String[] args) { double a, b, c; a = 10; b = 3.14; c = (a+b)/2; System.out.println("Der Mittelwert = " + c); //Ausgabe von c als double c = (int) c; //Die Variable c wird hier in den Typ int umgewandelt System.out.println("Der Mittelwert = " + c); //Ausgabe von c als int } }
Hier die Ausgabe:
Der Mittelwert = 6.57
Der Mittelwert = 6.0