Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Armen Wortmann Geändert vor über 10 Jahren
1
© 2004 Pohlig - Taulien Explizite Typenumwandlung
2
© 2004 Pohlig - Taulien GK Informatik mit Java 2 wird als int-Division berechnet. Beispiele int a = 8; int b = 3; int q = a/b; System.out.println(a+"/"+b+"="+q); 8/3=2 Ergebnis:
3
© 2004 Pohlig - Taulien GK Informatik mit Java 3 wird als float-Division berechnet. Beispiele float a = 8; float b = 3; float q = a/b; System.out.println(a+"/"+b+"="+q); 8.0/3.0=2.6666667 Ergebnis:
4
© 2004 Pohlig - Taulien GK Informatik mit Java 4 wird zuerst als int-Wert berechnet und dann nach float umgewandelt. Beispiele int a = 8; int b = 3; float q = a/b; System.out.println(a+"/"+b+"="+q); 8/3=2.0 Ergebnis:
5
© 2004 Pohlig - Taulien GK Informatik mit Java 5 a wird zuerst als float-Wert umgewandelt, das Ergebnis wird als float-Division berechnet. Beispiele int a = 8; int b = 3; float q = (float)a/b; System.out.println(a+"/"+b+"="+q); 8/3=2.6666667 Ergebnis:
6
© 2004 Pohlig - Taulien GK Informatik mit Java 6 Compiler-Fehler: possible loss of precision Beispiele float a = 8.0f; float b = 3.0f; int q = a/b; System.out.println(a+"/"+b+"="+q);
7
© 2004 Pohlig - Taulien GK Informatik mit Java 7 wird zuerst als float-Division berechnet, das Ergebnis ist die Vorkomma-Zahl. Beispiele float a = 8.0f; float b = 3.0f; int q = (int)(a/b); System.out.println(a+"/"+b+"="+q); 8.0/3.0=2 Ergebnis:
8
© 2004 Pohlig - Taulien GK Informatik mit Java 8 Wird zuerst als float-Division berechnet; die Konvertierung nach int liefert ein falsches Ergebnis. Beispiele float a = 8.0e12f; float b = 3.0e-4f; int q = (int)(a/b); System.out.println(a+"/"+b+"="+q); 8.0E12/3.0E-4=2147483647 Ergebnis:
9
© 2004 Pohlig - Taulien GK Informatik mit Java 9 Regeln Zuweisungen an übergeordnete Typen sind immer möglich ( int float). Zuweisungen an untergeordnete Typen erfordern den Type-Cast-Operator (float (int) int). Vorsicht: möglicherweise Datenverlust!
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.