Почему в Java нет байтов или коротких литералов?

Я могу создать литерал long, добавив L к значению; почему я не могу создать литерал short или byte каким-то подобным образом? Зачем мне использовать int литерал с приведением?

И если ответ «потому что в C не было короткого литерала», то почему в C нет коротких литералов?

На самом деле это никак не влияет на мою жизнь; достаточно просто написать (короткий) 0 вместо 0S или что-то в этом роде. Но непоследовательность делает меня любопытным; это одна из тех вещей, которая беспокоит тебя, когда ты поздно ночью. Кто-то в какой-то момент принял дизайнерское решение, позволяющее вводить литералы для некоторых примитивных типов, но не для всех. Зачем?

Ответы на вопрос(4)

Ваш ответ на вопрос