Originariamente inviato da Freax
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 ) ?
Perchè il cast viene eseguito su 0, quindi l'effetto di dei due cast è 0.0

Devi trattare entrambi gli operandi come float (risp. double):
codice:
		System.out.println((float)1/(float)3);
		System.out.println((double)1/(double)3);