6.11.2
Explizites Casten |
|
Kommen wir zu unserem Problem aus dem
letzten Kapitel 14.1 zurück. Wir wollen eine korrekte Division, ohne dass
wir Dividend und Divisor. |
|
Download: TypeCast5.java |
|
Ausgabe |
8/3=2.6666667 |
Durch das vor die Variable a gesetzte
(float)
wird ein expliziter Cast zum Typ
float
vorgenommen. Damit hat sich der Kontext für den '/'-Operator
verändert, es wird eine Fließkommazahldivision durchgeführt. Statt
a
zu casten, hätten wir auch b
casten können. Die folgende Ausdrücke sind im Ergebnis gleich
|
|
Beispiel 1 |
Das aufgezeigte Beispiele für
explizites Casten diente dazu die Funktionalität eines überladenen
Operators zu steuern. Wir können aber einen expliziten Cast auch
ausführen, wenn Java wegen eines möglichen Datenverlustes einen impliziten
Cast verweigert. Ein Beispiel soll das zeigen: Wir wollen für die
Simulation eines Würfelspiels Zufallszahlen erzeugen. Die Klassenmethode
random()
aus der Klasse Math erzeugt Zufallszahlen vom Typ
double
aus dem Intervall [0,1[. Mit
|
Beispiel 2 |
Im Kapitel 14.4 wurde das kleine
Programm ASCII.java vorgestellt. |
public class
ASCII { |
|
Jetzt verstehen wir den explizites Cast. Die Variable ascii ist vom Typ int. Wir möchten den Wert als Zeichen darstellen. Dazu müssen wir dem Kompiler mitteilen, dass wir diese Interpretation wünschen | |
zu | 6.11.3 Übung |
zur Startseite | www.pohlig.de (C) MPohlig 2007 |