|
Aufwand für Konvertierungen nach ------------------------------------------------------------------------ Datentyp byte short char int long float double ------------------------------------------------------------------------ byte 0 1 2 3 4 7 8 ------------------------------------------------------------------------ short A 0 A 1 2 5 6 ------------------------------------------------------------------------ von char B A 0 1 2 5 6 ------------------------------------------------------------------------ int C B A 0 1 4 5 ------------------------------------------------------------------------ long D C B A 0 3 4 ------------------------------------------------------------------------ float G F E D C 0 1 ------------------------------------------------------------------------ double H G F E D A 0 ------------------------------------------------------------------------ - Bei den Kombinationen, die durch Buchstaben gekennzeichnet sind, geht bei der Konvertierung
Information verloren. Diese Konvertierungen müssen mit dem cast-Operator erzwungen werden. - Bei der Konvertierung wird immer die Kombination gewählt, die den geringsten Aufwand erfordert.
Beispiel:
public class cast01
{
public static void main(String args[])
{
int i=1,j=2;
System.out.println(1/2 + " " + 1./2.);
System.out.println(i/j + " " + (float)i/(float)j);
System.out.println((float)1/(float)2);
System.exit(0);
}
}
Als Ausgabe erhält man:
0 0.5
0 0.5
0.5
|
|
|