per comprendere meglio come operare del casting in java e come questo viene gestito ho scritto 4 semplicissime righe
che da come outputcodice:public class test { public static void main ( String[] args ) { System.out.println((short)(1/3)); System.out.println((int)(1/3)); System.out.println((float)(1/3)); System.out.println((double)(1/3)); } }
non mi spiego perché negli ultimi 2 casi l'output è 0.0 anziché qualcosa di simile a 0.3 con 3 periodico, perché non mi esegue un casting corretto ( ovvero che mi salvi il risultato convertendolo in virgola mobile ) ?codice:0 0 0.0 0.0