1 AnswerNew Answer
It's determined by the designers of the language. A byte is 8 bits in length so can only represent a signed value between -128 to +127. See https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html for more information. There are convenience classes for the primitive data types which contain MAX_VALUE and MIN_VALUE constant field values e.g. Byte.MAX_VALUE Byte.MIN_VALUE The same applies to the Integer, Long, Float and Double wrapper classes etc.