Size: a a a

2020 November 08

DS

Dmitriy Shilnikov in learn.java
ns ...
да, но у меня на скрине num2 - остался short, а num 3 - стал int
В обоих случаях сложение двух чисел
Он остался, потому что  в байткоде будет отдельная инструкция, чтобы результат сложения снова в short преобразовать.
источник

M

Maxim Borisov in learn.java
вот везде пишут что типо сужать надо явно. но тут приходит final и разбивает лица
источник

DS

Dmitriy Shilnikov in learn.java
Мне кажется, голову этим забивать вообще не стоит
источник

DS

Dmitriy Shilnikov in learn.java
В реальной жизни short не особо используется.
источник

JI

Jalol Imomaddinov in learn.java
Jalol Imomaddinov
Походу значение вычисляется при компиляции
Да, так и есть)
источник

M

Maxim Borisov in learn.java
вот на собеседование придешь полюбому подкинут пример с final и спросят что тут не хватает . ставишь туда сужение к шорту и тебе говорят иди нахер олух подметай улицу
источник

DS

Dmitriy Shilnikov in learn.java
А хотите ещё больше мозг сломать?
источник

DS

Dmitriy Shilnikov in learn.java
источник

DS

Dmitriy Shilnikov in learn.java
a остаётся final. Но так уже не работает )
источник

JI

Jalol Imomaddinov in learn.java
Dmitriy Shilnikov
Мне кажется, голову этим забивать вообще не стоит
Согласен, short и byte использовал в последний раз когда писал компилятор для оптимизации байткода)))
источник

DS

Dmitriy Shilnikov in learn.java
Не, byte часто же используется
источник

DS

Dmitriy Shilnikov in learn.java
Ну, в смысле byte[] )
источник

РП

Роман Пивоваров... in learn.java
само собой все нормализовалось, заходят последовательно но не понятно почему 15 поток отвалился и закончился в конце, ведь по логике он должен был отработать полностью в блоке ...
источник

JI

Jalol Imomaddinov in learn.java
Dmitriy Shilnikov
Ну, в смысле byte[] )
Просто byte редко)))
источник

DS

Dmitriy Shilnikov in learn.java
Ну да, просто byte я, наверно, и не использовал никогда )
источник

JI

Jalol Imomaddinov in learn.java
По сути компилятор должен был инлайнить присвоение, дальше уже просто сложить два числа и присвоить c, но тут походу затупил)
источник

JI

Jalol Imomaddinov in learn.java
ns ...
Получается, если в лимит не упирается , то в short приводит.
А если переполнение - то уже int
Я так думал, но ОШИБСЯ, оказывается все операции с int, short, byte приводится к int
источник

DS

Dmitriy Shilnikov in learn.java
Jalol Imomaddinov
Я так думал, но ОШИБСЯ, оказывается все операции с int, short, byte приводится к int
Не совсем так. Операции с int приводятся к long, если второй оператор long.
источник

DS

Dmitriy Shilnikov in learn.java
Ну и вообще, если второй операнд long, то и short, и byte к нему будут приводиться.
источник

GV

Gukov Viktor in learn.java
Jalol Imomaddinov
По сути компилятор должен был инлайнить присвоение, дальше уже просто сложить два числа и присвоить c, но тут походу затупил)
Не должен. Данный пример не является константной переменной, поэтому возникает ошибка компиляции
источник