Я новичок в java, и я не понимаю различий между этими двумя:
byte myByte = 100;
short myShort = 5000 ;
int myInt = 2_000_150_000;
long myLong = (long)(50_000 + 10*(long)(myByte + myShort + myInt));
System.out.println("test1:" + myLong);
long myLongWrong = (long)(50_000 + 10*(myByte + myShort + myInt));
System.out.println("test2:" + myLongWrong);
OUTPUT:
test1:20001601000
test2:-1473235480
Я знаю, когда я получаю var и arithmeti c Мне нужно делать кастинг с (долго) но зачем мне это делать и вне main () тоже?
ЖЕ ДУМАЕТЕ ЗА короткую работу иначе
short myShortTest = (short)(50_000 + 10*(short)(myByte + myInt +myShort));
short myShortTest2 = (short)(50_000 + 10*(myByte + myInt +myShort));
System.out.println(myShortTest);
System.out.println(myShortTest2);
ВЫХОД
13800
13800
Спасибо за помощь я новичок для java не убивай меня :)