zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite

Was wird dieses Programm ausgeben?

Antwort:

Neue Position:java.awt.Point[x=12,y=42]

Sichere Konvertierungen

Im Allgemeinen wird eine Konvertierung von einem Typ in einen anderen NICHT automatisch durchgeführt, wenn die Möglichkeit eines Datenverlustes besteht. Eine Konvertierung von einem Datentyp, der N Bits verwendet, in einen Datentyp, der weniger Bits verwendet, läuft Gefahr Daten zu verlieren und wird nicht automatisch durchgeführt. Der Compiler entscheidet, indem er die beteiligten Datentypen untersucht, nicht die darin aktuell enthaltenen Werte.

In den folgenden Situationen wird der Compiler automatisch, in einem Methodenaufruf, den Typ des Ausdrucks in den erforderlichen Typ konvertieren:

  1. Einen Ganzzahltyp in einen anderen Ganzzahltyp konvertieren, der mehr Bits verwendet.
  2. Einen Gleitpunkttyp in einen anderen Gleitpunkttyp konvertieren, der mehr Bits verwendet.
  3. Die Konvertierung eines Ganzzahltyps in einen Gleitpunkttyp, der die gleiche Anzahl an Bits verwendet, kann zu einem Verlust an Genauigkeit führen, wird aber trotzdem automatisch durchgeführt.
  4. Die Konvertierung eines Ganzzahltyps in einen Gleitpunkttyp mit mehr Bits wird zu keinem Datenverlust führen und wird automatisch durchgeführt.

"Verlust an Genauigkeit" bedeutet, dass einige Ziffern mit einem niedrigen Stellenwert zu 0 werden, aber die wichtigsten Ziffern und die Größe der Zahl erhalten bleibt.

Erinnert Euch daran, dass ein float nur eine ungefähre Genauigkeit von 7 dezimalen Stellen hat. Wenn wir zum Beispiel das int 123456789 in ein float konvertieren, zeigt das Ergebnis 123456792.0 einen Verlust an Genauigkeit.

In den folgenden Situationen wird der Compiler eine Konvertierung NICHT automatisch durchführen.


FRAGE 7:

Klickt in der entsprechenden Spalte auf die Schaltfläche für die folgenden Typumwandlungen. Es gibt nur eine korrekte Antwort pro Zeile.

Konvertierung Kein Datenverlust.


Automatische Konvertierung.
Möglicher Verlust an Genauigkeit

Automatische Konvertierung.
Möglicher großer Verlust an Daten.

Erfordert eine explizite Typumwandlung.
byte in short
short in byte
short in long
int in float
float in byte
double in float

zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite