2011-01-11 21 views
8

Ecco il codice esplicativo. La lingua è Java e il codice utilizza Android.Cosa significa suffisso "f" nel codice Java?

fg.setTextSize(height*0.50f); //<-'f' is in the brackets 

o

@Override 
protected void onSizeChanged(int w, int h, int oldw, int oldh) { 
    super.onSizeChanged(w, h, oldw, oldh); 
    sWidth = w/3f; // <-'f' is here 
} 

Cosa significa il suffisso 'f' dire?

+0

Possibile duplicato di [cosa si intende per F e D alla fine dei valori letterali numerici?] (Http://stackoverflow.com/questions/4331200/what-do-f-and-d-mean-at-the- end-of-numeric-literals) – Ivar

risposta

13

Indica un valore letterale float.

+0

Difficile da comprendere per un ragazzo proveniente da. NET :). Ad ogni modo, è come un casting? È lo stesso 3f e (float) 3? Cosa succederebbe se lo omessi? – sandalone

+1

Quindi sarebbe un numero intero. L è usato a lungo, d per doppio – Kennet

+3

L'eliminazione di f da w/3f causerà la divisione integer, piuttosto che la divisione in virgola mobile perché 3 è un int mentre 3f è un float. Sia 3f che ((float) 3 valuteranno lo stesso valore, ma (float) 3 può essere convertito in fase di esecuzione, mentre 3f viene sempre valutato in fase di compilazione. – ILMTitan

2

galleggiante;)

è un 3 che è un galleggiante, non un int

2

È un galleggiante, non una doppia. Questa è una notazione Java (C) di base.

5

Indica che 3 è float non intero nell'altro caso 0.50 non è mobile. Proprio come in qualsiasi altro programma java.

1

Non è necessario aggiungere f se si immettono 0 o 1 o durante determinati compiti. Ma altre volte ne avete bisogno soprattutto quando il compilatore non può dire se è un float o un double o un int o ha bisogno di lanciare il valore in qualche modo. È davvero incoerente e incoerente.