Sto affrontando il paragrafo sulla promozione automatica e il casting e l'esercizio appena svolto è il seguente:
la soluzione è questa:Creare una classe che svolga delle operazioni aritmetiche.
In particolare la divisione tra due interi, la moltiplicazione tra un char e uno short, la somma tra un int e un float e la sottrazione tra i risultati ottenuti.
Tenere presente la promozione automatica nelle espressioni e utilizzare il casting propriamente.
Io sinceramente credo di averci capito poco e infatti sono venuti fuori una serie di dubbi.codice:public class Aritmetica { public static void main(String args[]) { int a = 5; int b = 3; double r1 = (double)(a/b); System.out.println(r1); char c = 'a'; short s = 5000; int r2 = c*s; System.out.println(r2); int i = 6; float f = 3.14F; float r3 = i+f; System.out.println(r3); double r4 = r1 - r2 - r3; System.out.println(r4); } }
- perchè r1 va dichiarato come double e necessita del casting sempre a double?
- perchè la moltiplicazione tra un char e uno short può essere inserita in un int e senza usare casting?
- perchè la somma tra un int e un float può essere inserita in un float e senza usare il casting?
- perchè la differenza tra un double, un int e un float può essere inserita in un double senza usare il casting?