Is Java case-sensitive? [closed]
Solution 1:
I read somewhere that Java is case-sensitive. I have been unable to confirm this.
Java source code is case sensitive, if you mean that. i.e. Double
is not the same type as double
, and you can have two different and separate variables myData
and mydata
.
Is it? If so, why?
Case sensitivity is the norm in most programming languages and environments, because lower and upper case letters are represented differently at the lowest levels. To a computer, "a" and "A" are two completely different things, and it takes extra work to make it act as if they were the same.
Furthermore, some languages have very tricky special rules for casing, e.g. the German letter ß has no uppercase version and is typically uppercased to "SS" - so should "weiß" and "WEISS" be considered syntactially identical? Even worse is Turkish: they have two separate letters i with and without a dot, and each has its own uppercase version. So in Turkey, "IMAGE" is not the uppercase version of "image"! And this is not irrelevant at all, especially for Java, since you can actually use all these letters as identifiers in your Java programs if you want.
In the light of all this, it's very understandable that programming language designers would choose the simple solution of having the syntax be case sensitive.
Solution 2:
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
?