Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

© 2004 Pohlig - Taulien Explizite Typenumwandlung.

Ähnliche Präsentationen


Präsentation zum Thema: "© 2004 Pohlig - Taulien Explizite Typenumwandlung."—  Präsentation transkript:

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!


Herunterladen ppt "© 2004 Pohlig - Taulien Explizite Typenumwandlung."

Ähnliche Präsentationen


Google-Anzeigen