zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite
int x = 9;
System.out.println( Math.sqrt( x ) );

Antwort:

3.0

Automatische Konvertierung

Auch wenn sqrt() ein double als Argument erwartet, haben wir 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 die sqrt() Methode aufgerufen wird, hat sie ein Gleitpunktargument 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 dem oben stehenden Code ist die Typkonvertierung nicht erforderlich, aber sie wird verwendet, um klar zu zeigen, was die Berechnung tut. Manchmal ist eine Typkonvertierung erforderlich.

FRAGE 15:

Was gibt das folgende Fragment aus?

int x = 1;
int y = 9;
System.out.println( Math.sqrt( x/y ) );

Warnung: das ist eine Fangfrage!