Yes, it is case-sensitive. It is this way because of its heritage from C. To keep the language more familiar to what people were used to "in the day", they left it as case-sensitive. There is an added advantage, since Java identifiers can be almost any Unicode character. You don't have to worry about whether or not an individual character can be uppercased or not.
For example, should ß
be equivalent to ss
?