Recentemente ho notato un'idiosincrasia di Java riguardante le operazioni aritmetiche di base in Java. Con questo codiceOperazioni aritmetiche di base su int - Java
byte a = 3;
byte b = 4;
byte c = a * b;
ottengo un errore di compilazione "tipo non corrispondente" ...
sono operazioni aritmetiche di base in Java (+
, -
, *
, /
) eseguite solo sui tipi di dati primitivi di int
e ordine superiore (long
, double
, ecc.), mentre le operazioni aritmetiche su byte
e short
vengono trasmesse per la prima volta a int
e quindi valutate?
Buona domanda. Onestamente non conoscevo la risposta, ma ho trovato questo. http://mindprod.com/jgloss/multiplication.html – Zutty