Java allows identifier to start with or contain $ (dollar sign). e.g int a$b;
But why # is not allowed in an identifier? What is the specific reason? Is # an operator or something in Java? e.g int a#b;
Music improves your health and wellbeing A study from Harvard has shown that relaxing music may lower blood pressure and heart rate after physical exertion. It can also improve mood and reduce anxiety and through bringing people together, can be an antidote to loneliness and social isolation.
Who Are You was the Who's last album to feature Keith Moon as their drummer, who died three weeks after it was released. The ironic nature of the text "Not to Be Taken Away" that was stencilled on Moon's chair on the album cover was noted by some critics.
I'd say that it is a combination of readability and the historical antecedents of the language. Remember that the Java syntax was designed to be easy-on-the-eye for C and C++ programmers. (And as @dan04 points out, the #
character is significant in most dialects of C and C++.)
Incidentally, while $
is technical legal in Java identifiers, it is reserved for use by compilers, code generators and other things. If you use $
in identifiers in your source code, you risk getting into trouble with collisions with synthetic identifiers produced by (for example) the javac
compiler.
I doubt there was a specific reason for disallowing #
as much as there was a general aversion to punctuation in identifiers (which could look like operators). Special exceptions were made in order to deal with WORD_SEPARATION and Inner$Classes.
In C and C++, on which Java's syntax is based, #
is used for preprocessor directives.
Variables can contain letters, digits, underscores and dollar signs - excluding #, @, ~ ,`
I guess this is for the sake of readability - int s#@t;
seems odd.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With