I read Java is case sensitive.. I am
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
If it is case sensitive then what is
the specific reason it has been made
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.