2016-08-15 1 views
1

int a = 50; int b = 60; float c = float a + b; Nun würden diese Ganzzahlen zuerst hinzugefügt und dann in Float konvertiert werden oder würden sie zuerst in Float konvertiert und dann hinzugefügt werden?Werden diese Ganzzahlen zuerst in Float konvertiert und dann hinzugefügt oder sie werden zuerst hinzugefügt und dann in Float in Java konvertiert?

+1

Dieser Code wird nicht kompiliert. – Eran

+0

zuerst hinzugefügt und dann konvertiert float c = (float) (a + b); – Kaushal28

+0

Der erste. Integer (nach Addition) wird dann in Float umgewandelt (vorausgesetzt, Sie hatten korrekte, runde Klammern). –

Antwort

0

Wenn Sie Klammern wie folgt haben, werden zwei Ganzzahlen zuerst hinzugefügt und das Ergebnis wird in Float konvertiert.

float c = (float)(a + b); 

Und wenn man sie in float zuerst konvertieren möchten, und als als die Verwendung hinzufügen möchten Syntax folgende:

float c = (float)a + (float)b; 

Wenn Sie versuchen:

float c = (float)a + b; 

als nur a wird in float umgewandelt werden, wird b bleiben int bleiben.

Aber Ihre Syntax ist falsch. Sie müssen float in Klammern erwähnen.

0

float c = float a + b; wird nicht kompiliert. Ich denke du meinst (1) float c = (float) a + b; oder (2) float c = (float) (a + b);

Wenn du meinst (1), a wird zuerst in einen Float umgewandelt. Dann wird b zum Gleitkommawert hinzugefügt, der von a konvertiert wurde.

Wenn Sie (2) meinen, wird a + b zuerst ausgewertet und gibt ein int Ergebnis zurück. Dieses int Ergebnis wird dann in float konvertiert und c zugeordnet.

Verwandte Themen