For some inexplicable reason the byte primitive type is signed in Java. This mean that valid values are -128..127 instead of the usual 0..255 range representin
byte
I think it is signed in order to be consistent with short and int.
As to whether it is used much, it makes the notion of "byte arrays" a construct rather than a primitive.
That's really all I have. :)