Search This Blog

Friday, 30 December 2011

Lexical Issues ( atomic elements of Java )


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
  • comments
  • literals
  • operators
  • separators
  • keywords
Whitespace 


Java is a free-form language. This means that you do not need to follow any special
indentation rules. For example, 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

Identifiers are used for class names, method names, and variable names. An identifier
may be any descriptive sequence of uppercase and lowercase letters, numbers, or the
underscore and dollar-sign characters. 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:

HighTemp     temp    h8      $low         this_is_ok


Invalid variable names include:


2temp      low-temp    Yes/ok

Comments

As mentioned, there are three types of comments defined by Java. You have already
seen two: 
1) single-line( // ) 
2) 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 */.

literals


A constant value in Java is created by using a literal representation of it. For example,
here are some literals:

100                             literal specifies an integer
98.6                            literal specifies a floating-point value
'X'                               literal specifies is a character constant
"This is a test"              literal specifies  is a string

 A literal can be used anywhere a value of
its type is allowed.


Separators

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:
Symbol                       Name                             Purpose
( )                             Parentheses        Used 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.

{ }                             Braces              Used to contain the values of automatically initialized
                                                           arrays. Also used to define a block of code, for
                                                           classes, methods, and local scopes.

[ ]                              Brackets            Used to declare array types. Also used when
                                                           dereferencing array values.

;                                Semicolon           Terminates statements.

,                                Comma               Separates consecutive identifiers in a variable
                                                           declaration. Also used to chain statements together
                                                            inside a for statement.

.                                 Period               Used to separate package names from subpackages
                                                           and classes. Also used to separate a variable or
                                                           method from a reference variable.


Keywords in Java

There are 48 reserved keywords currently defined in the Java language.
These keywords, combined with the syntax of the operators and separators, form the
definition of the Java language. These keywords cannot be used as names for a variable,
class, or method

abstract   const   Finally   int   Public   this   boolean   continue   Float   interface   Return   throw
break   default    For      long   Short    throws    byte      do         Goto    native      Static   transient
case     double     If        new   Strictfp   try      catch     else     Implements       package     Super
void      char     extends    Import   private    Switch    volatile   class     final    Instanceof   protected
Synchronized    while

The keywords const and goto are reserved but not used.
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.

1 comment:

  1. The syntax of comments is wrong
    For single line comment : // all the text is ignored till the end of that line
    Multi line : /* everything
    Is
    Ignored.*/
    Documentation : /** ... */

    ReplyDelete