int x = 9; System.out.println( Math.sqrt( x ) );
3.0
Auch wenn die Methode sqrt()
ein double
als Argument erwartet, haben wir ihr hier ein int
übergeben.
Das ist OK.
Der Compiler weiß, was sqrt()
erwartet
und fügt automatisch Code ein, um das Argument in den korrekten Typ
zu konvertieren.
Wenn sqrt()
aufgerufen wird, hat sie ein Gleitpunkt-Argument
von doppelter Genauigkeit, das sie erwartet.
Programmierer verwenden oft eine Typumwandlung, um explizit zu zeigen wo die Konvertierung stattfindet:
int x = 9; System.out.println( Math.sqrt( (double)x ) );
In der oben stehenden Situation ist die Typkonvertierung nicht erforderlich, aber es ist gut sie dort zu haben, um klar zu zeigen was die Berechnung tut. Manchmal ist eine Typkonvertierung erforderlich.