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

Eine gute Antwort wäre:

3.0

Automatische Konvertierung

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.

FRAGE 12:

Was gibt das folgende Fragment aus?

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

Warnung: das ist eine Fangfrage!

Inhaltsverzeichnis