Ecco come funziona:
`` `Java
Classe pubblica FloattoDouble {
public static void main (string [] args) {
float myfloat =3.14f; // Nota che il suffisso 'F' è cruciale per i letterali galleggianti.
doppio mydouble =myfloat; // conversione implicita
System.out.println ("float:" + myfloat);
System.out.println ("Double:" + myDouble);
}
}
`` `
La linea `doppia mydouble =myfloat;` converte implicitamente il valore `float 'a un` doppio`. Non è necessario alcun casting. Java gestisce la conversione perfettamente.
Se dovessi eseguire operazioni aritmetiche che coinvolgono `float` e` double`, il `float` verrebbe automaticamente promosso a` doppio` prima del calcolo.
Mentre * puoi * lanciarlo esplicitamente usando `(doppio) myfloat`, è ridondante perché la conversione implicita è già gestita correttamente ed efficiente dal compilatore Java:
`` `Java
doppio mydoublexplicit =(doppio) myfloat; // esplicito, ma non necessario
`` `
In quasi tutti i casi, la conversione implicita è preferita per una migliore leggibilità e concisione. Il cast esplicito potrebbe essere utile solo in situazioni in cui si desidera rendere la conversione molto esplicita per la leggibilità in un codice complesso o per sottolineare che si è a conoscenza della potenziale perdita di precisione (anche se in questo caso dal galleggiante al raddoppio è minimo rispetto ad altre conversioni).
Programmazione © www.354353.com