Lexical Issues In Java

Vipin | Sun, 23 Aug, 2020 | 1879

Now that you have seen several short Java programs, it is time to more formally describe the atomic elements of Java. Java programs are a collection of whitespace, identifiers, literals, comments, operators, separators, and keywords.


Java is a free-form language. This means that you do not need to follow any special indentation rules. For instance, the Example program could have been written all on one line or in any other strange way you felt like typing it, as long as there was at least one whitespace character between each token that was not already delineated by an operator or separator. In Java, whitespace is a space, tab, or newline.


Identifiers are used to name things, such as classes, variables, and methods. An identifier may be any descriptive sequence of uppercase and lowercase letters, numbers, or the underscore and dollar-sign characters. (The dollar-sign character is not intended for general use.) They must not begin with a number, lest they be confused with a numeric literal. Again, Java is case-sensitive, so VALUE is a different identifier than Value.

Some examples of valid identifiers are

  • AvgTemp
  • count
  • a4
  • $test
  • this_is_an_identifier

 Invalid identifier names include these:

  • 2count
  • high-temp
  • not/ok

 NOTE Beginning with JDK 8, the use of an underscore by itself as an identifier is not recommended.


A constant value in Java is created by using a literal representation of it.

For example, here are some literals:

  • 100
  • 98.6
  • 'X'
  • "This is a test"

 Left to right, the first literal specifies an integer, the next is a floating-point value, the third is a character constant, and the last is a string. A literal can be used anywhere a value of its type is allowed.


As mentioned, there are three types of comments defined by Java. You have already seen two: single-line and multiline. The third type is called a documentation comment. This type of comment is used to produce an HTML file that documents your program. The documentation comment begins with a /** and ends with a */. Documentation comments are explained in the Appendix.


In Java, there are a few characters that are used as separators. The most commonly used separator in Java is the semicolon. As you have seen, it is used to terminate statements.

The separators are shown in the following table:

()ParenthesesUsed to contain lists of parameters in method definition and invocation. Also used for defining precedence in expressions, containing expressions in control statements, and surrounding cast types.
{}BracesUsed to contain the values of automatically initialized arrays. Also used to define a block of code, for classes, methods, and local scopes.
[]BracketsUsed to declare array types. Also used when dereferencing array values.
;SemicolonTerminates statements.
,CommaSeparates consecutive identifiers in a variable declaration. Also used to chain statements together inside a for statement.
.PeriodUsed to separate package names from subpackages and classes. Also used to separate a variable or method from a reference variable
::ColonsUsed to create a method or constructor reference. (Added by JDK 8.)

The Java Keywords

There are 50 keywords currently defined in the Java language. These keywords, combined with the syntax of the operators and separators, form the foundation


of the Java language. These keywords cannot be used as identifiers. Thus, they cannot be used as names for a variable, class, or method.

The keywords const and goto are reserved but not used. In the early days of Java, several other keywords were reserved for possible future use.

In addition to the keywords, Java reserves the following: true, false, and null. These are values defined by Java. You may not use these words for the names of variables, classes, and so on.


R.Priya    Sat, 17 Apr, 2021


Leave a comment