Thursday, December 16, 2010

Identifiers.Keywords and Types

Identifiers :
In Java programming language an identifier is name given to a variable,class or method.Identifiers start with letter,underscore( _ ),or dollar sign( $ ).Subsequent characters can be digits.Identifiers are case sensitive and have no maximum  length.
The following are valid identifiers:
  • identifier
  • username
  • user_name
  • _sys_var1
  • $cahnge

In Java Technology sources ae in 16-bit Unicode rather than 8-bit American Standard Code for Information Interchange(ASCII) text,so a letter is a considerablly wider definition than just a-z  A-Z.
While identifiers  can use non-Unicode characters, be aware of the following caveats:
  • Unicode can support different characters that look the same.
  • Class names should only be in ASCII characters because most file systems do not support Unicode characters.
An Identifier cannot be a keyword but it can contain a keyword as part of its name.For example:
thisOne is valid identifier,but this is not because this is java technology keyword .


Keywords:
Java Language Keywords
Here's a list of keywords in the Java programming language. You cannot use any of the following as identifiers in your programs. The keywords const and goto are reserved, even though they are not currently used. true, false, and null might seem like keywords, but they are actually literals; you cannot use them as identifiers in your programs.
abstract continue for new switch
assert*** default goto* package synchronized
boolean do if private this
break double implements protected throw
byte else import public throws
case enum**** instanceof return transient
catch extends int short try
char final interface static void
class finally long strictfp** volatile
const* float native super while
* not used
** added in 1.2
*** added in 1.4
**** added in 5.0

The following is a list of the keywords in Java, along with brief descriptions of their functions:
abstract
The abstract keyword is used to declare a class or method to be abstract. An abstract method has no implementation; all classes containing abstract methods must themselves be abstract, although not all abstract classes have abstract methods. Objects of a class which is abstract cannot be instantiated, but can be extended by other classes. All subclasses of an abstract class must either provide implementations for all abstract methods, or must also be abstract.
assert
The assert keyword, which was added in J2SE 1.4, is used to make an assertion—a statement which the programmer believes is always true at that point in the program. If assertions are enabled when the program is run and it turns out that an assertion is false, an AssertionError is thrown and the program terminates. This keyword is intended to aid in debugging.
boolean
The boolean keyword is used to declare a field that can store a boolean value; that is, either true or false. This keyword is also used to declare that a method returns a value of type boolean.
break
Used to resume program execution at the statement immediately following the current enclosing block or statement. If followed by a label, the program resumes execution at the statement immediately following the enclosing labeled statement or block.
byte
The byte keyword is used to declare a field that can store an 8-bit signed two's complement integer This keyword is also used to declare that a method returns a value of type byte.
case
The case keyword is used to create individual cases in a switch statement; see switch.
catch
Defines an exception handler—a group of statements that are executed if an exception is thrown in the block defined by a preceding try keyword. The code is executed only if the class of the thrown exception is assignment compatible with the exception class declared by the catch clause.
char
The char keyword is used to declare a field that can store a 16-bit Unicode character. This keyword is also used to declare that a method returns a value of type char.
class
A type that defines the implementation of a particular kind of object. A class definition defines instance and class fields, methods, and inner classes as well as specifying the interfaces the class implements and the immediate superclass of the class. If the superclass is not explicitly specified, the superclass is implicitly Object.
const
Although reserved as a keyword in Java, const is not used and has no function.
continue
Used to resume program execution at the end of the current loop body. If followed by a label, continue resumes execution at the end of the enclosing labeled loop body.
default
The default can optionally be used in a switch statement to label a block of statements to be executed if no case matches the specified value; see switch.
do
The do keyword is used in conjunction with while to create a do-while loop, which executes a block of statements associated with the loop and then tests a boolean expression associated with the while. If the expression evaluates to true, the block is executed again; this continues until the expression evaluates to false.
double
The double keyword is used to declare a field that can hold a 64-bit double precision IEEE 754 floating-point number. This keyword is also used to declare that a method returns a value of type double.
else
The else keyword is used in conjunction with if to create an if-else statement, which tests a boolean expression; if the expression evaluates to true, the block of statements associated with the if are evaluated; if it evaluates to false, the block of statements associated with the else are evaluated.
enum (as of J2SE 5.0)
A Java keyword used to declare an enumerated type. Enumerations extend the base class Enum.
extends
Used in a class declaration to specify the superclass; used in an interface declaration to specify one or more superinterfaces. Class X extends class Y to add functionality, either by adding fields or methods to class Y, or by overriding methods of class Y. An interface Z extends one or more interfaces by adding methods. Class X is said to be a subclass of class Y; Interface Z is said to be a subinterface of the interfaces it extends.
Also used to specify an upper bound on a type parameter in Generics.
final
Define an entity once that cannot be changed nor derived from later. More specifically: a final class cannot be subclassed, a final method cannot be overridden, and a final variable can occur at most once as a left-hand expression. All methods in a final class are implicitly final.
finally
Used to define a block of statements for a block defined previously by the try keyword. The finally block is executed after execution exits the try block and any associated catch clauses regardless of whether an exception was thrown or caught, or execution left method in the middle of the try or catch blocks using the return keyword.
float
The float keyword is used to declare a field that can hold a 32-bit single precision IEEE 754 floating-point number. This keyword is also used to declare that a method returns a value of type float.
for
The for keyword is used to create a for loop, which specifies a variable initialization, a boolean expression, and an incrementation. The variable initialization is performed first, and then the boolean expression is evaluated. If the expression evaluates to true, the block of statements associated with the loop are executed, and then the incrementation is performed. The boolean expression is then evaluated again; this continues until the expression evaluates to false.
As of J2SE 5.0, the for keyword can also be used to create a so-called "enhanced for loop", which specifies an array or Iterable object; each iteration of the loop executes the associated block of statements using a different element in the array or Iterable.
goto
Although reserved as a keyword in Java, goto is not used and has no function.
if
The if keyword is used to create an if statement, which tests a boolean expression; if the expression evaluates to true, the block of statements associated with the if statement is executed. This keyword can also be used to create an if-else statement; see else.
implements
Included in a class declaration to specify one or more interfaces that are implemented by the current class. A class inherits the types and abstract methods declared by the interfaces.
import
Used at the beginning of a source file to specify classes or entire Java packages to be referred to later without including their package names in the reference. Since J2SE 5.0, import statements can import static members of a class.
instanceof
A binary operator that takes an object reference as its first operand and a class or interface as its second operand and produces a boolean result. The instanceof operator evaluates to true if and only if the runtime type of the object is assignment compatible with the class or interface.
int
The int keyword is used to declare a field that can hold a 32-bit signed two's complement integer. This keyword is also used to declare that a method returns a value of type int.
interface
Used to declare a special type of class that only contains abstract methods, constant (static final) fields and static interfaces. It can later be implemented by classes that declare the interface with the implements keyword.
long
The long keyword is used to declare a field that can hold a 64-bit signed two's complement integer. This keyword is also used to declare that a method returns a value of type long.
native
Used in method declarations to specify that the method is not implemented in the same Java source file, but rather in another language.
new
Used to create an instance of a class or array/an object.
package
A group of types. Packages are declared with the package keyword.
private
The private keyword is used in the declaration of a method, field, or inner class; private members can only be accessed by other members of their own class.
protected
The protected keyword is used in the declaration of a method, field, or inner class; protected members can only be accessed by members of their own class, that class's subclasses or classes from the same package.
public
The public keyword is used in the declaration of a class, method, or field; public classes, methods, and fields can be accessed by the members of any class.
return
Used to finish the execution of a method. It can be followed by a value required by the method definition that is returned to the caller.
short
The short keyword is used to declare a field that can hold a 16-bit signed two's complement integer. This keyword is also used to declare that a method returns a value of type short.
static
Used to declare a field, method or inner class as a class field. Classes maintain one copy of class fields regardless of how many instances exist of that class. static also is used to define a method as a class method. Class methods are bound to the class instead of to a specific instance, and can only operate on class fields. (Classes and interfaces declared as static members of another class or interface are actually top-level classes and are not inner classes.)
strictfp (as of J2SE 1.2)
A Java keyword used to restrict the precision and rounding of floating point calculations to ensure portability.
super
Used to access members of a class inherited by the class in which it appears. Allows a subclass to access overridden methods and hidden members of its superclass. The super keyword is also used to forward a call from a constructor to a constructor in the superclass.
Also used to specify a lower bound on a type parameter in Generics.
switch
The switch keyword is used in conjunction with case and default to create a switch statement, which evaluates a variable, matches its value to a specific case, and executes the block of statements associated with that case. If no case matches the value, the optional block labelled by default is executed, if included.
synchronized
Used in the declaration of a method or code block to acquire the mutex lock for an object while the current thread executes the code. For static methods, the object locked is the class' Class. Guarantees that at most one thread at a time operating on the same object executes that code. The mutex lock is automatically released when execution exits the synchronized code. Fields, classes and interfaces cannot be declared as synchronized.
this
Used to represent an instance of the class in which it appears. this can be used to access class members and as a reference to the current instance. The this keyword is also used to forward a call from one constructor in a class to another constructor in the same class.
throw
Causes the declared exception instance to be thrown. This causes execution to continue with the first enclosing exception handler declared by the catch keyword to handle an assignment compatible exception type. If no such exception handler is found in the current method, then the method returns and the process is repeated in the calling method. If no exception handler is found in any method call on the stack, then the exception is passed to the thread's uncaught exception handler.
throws
Used in method declarations to specify which exceptions are not handled within the method but rather passed to the next higher level of the program. All uncaught exceptions in a method that are not instances of RuntimeException must be declared using the throws keyword.
transient
Declares that an instance field is not part of the default serialized form of an object. When an object is serialized, only the values of its non-transient instance fields are included in the default serial representation. When an object is deserialized, transient fields are initialized only to their default value. If the default form is not used, e.g. when a serialPersistentFields table is declared in the class hierarchy, all 'transient' keywords are ignored.
try
Defines a block of statements that have exception handling. If an exception is thrown inside the try block, an optional catch block can handle declared exception types. Also, an optional finally block can be declared that will be executed when execution exits the try block and catch clauses, regardless of whether an exception is thrown or not. A try block must have at least one catch clause or a finally block.
void
The void keyword is used to declare that a method does not return any value.
volatile
Used in field declarations to specify that the variable is modified asynchronously by concurrently running threads. Methods, classes and interfaces thus cannot be declared volatile.
while
The while keyword is used to create a while loop, which tests a boolean expression and executes the block of statements associated with the loop if the expression evaluates to true; this continues until the expression evaluates to false. This keyword can also be used to create a do-while loop; see do.
Reserved words for literal values
false
A boolean literal value.
null
A reference literal value.
true
A boolean literal value.



Types:
The Java programming language has many built in data types.These fall into two broad categories:class and primitve types.Primitive data types are simple values,are not objects.Class types are used for more complex types including all aof the types that you declare yourself.Class types are used to create objects.

Primitve Types:
The Java programming language defines eight primitive data types which can be considered in four categories:
  • Logical-boolean
  • textual-char
  • Integral-byte,short,int and long
  • Floating point-double and float





Loagical- boolean:


Logical values are reprensented using the boolean type,whch takes one of two values:true or false.These values can be used to represent any two states such as on and off or yes and no.The boolean type has two litereal values: true and false.The following code us an example of the declaration and initialization of the boolean type varaible:

//declares the variable truth as bolean and assigns it the value true.
boolean truth = true ;

Textual - char :
Single characters are represented by using the char type.A char represents a 16bit unsigned Unicode character.You must enclose a char literal in single quotes(' ').
For example :
   'a' the letter a
   '\t' A tab
   '\u????' A specific Unicode character ????,is replaced with exactly four hexadecimal degits.
                   eg: '\uo3A6' is a Greek letter phi.

Textual - String:
You use the String type which is not a primitive type but a class to represent sequences of characters.The characters themselves are Unicode and the backslash notation shown previously for  the Char type also works in a String.Unlike C and C++ Strings do not end with \0.

A String literal is enclosed in double quote marks :
" the quick brown for jumps over lazy dog ."
Some examples of the declaration of char and strings type variables are :
//declares and initialize a char variable
char ch=A;

// declares two char variables
char ch1,ch2;

//declares two String variables and initializes them
String greeting = "good morning";
String errormessage ="Record not found";

//declares two String variables
String str1,str2;

Integral - byte,short,int and long :
There are four Integral types int eh Java programming language.Each type is declared using one of the keywords byte,short,int or long.
You can represent literals of integral type using decimal,octal or hexadecimal forms as follows:
2               This is the decimal form of integer 2
077           The leading 0 indicates an octal value
0xBAAC   The leading 0x indicates a hexadecimal value.

All number types in the Java programming language represents signed numbers.
Integral literals are of type int unless followed explicitly by the letter L that indicates a long value.In the Java programming language you can use either an uppercase or lowercase L.
A lowercase l is not recommended because it is hard to distinguish from the digit 1.

Long versions of the literals shown previously are :
2L                The L indicates that the decimal value 2 is represented as a long value.
077L            The leading 0 indicates an octal value
0xBAACL   The 0x prefix  indicates a hexadecimal value.

The size and range fort he four integral types are shown in the table .
The range representation is defined by the Java programming language specification as a 2's complement and is perform-independent.


Integer Length
Name of Type
Range

8 bits
byte
From -128 to 128 -1
16 bits
Short
From  -32768 to 32768 -1
32 bits
int
From  -2147483648 to 2147483648 -1
64 bits
long
From  -9223372036854775808 to 9223372036854775808 -1



Floating Point - float and double :
You can declare a floating point variable using keywords float or double.The following list contains example of floating point numbers.A numeric literal is floating point if it includes either a decimal point or an exponent part (the letter E or e) or is followed by the letter F or f(float)  or the letter D or d(double).Some examples of floating-point literals include:

3.14                  A simple floating point value(a double )
6.02e23            A large floating point value
2.718F              A simple float size value
123.4E+306D  A large double value with redundant D

Floating point literals are double by default.You can declare a literal of type float by appending F or f to the value.
The format of a floating point number is defined by The Java Language Specification to be Institute of Electrical and Electronics Engineers(IEEE) using the sizes shown in table.This format is platform Independent.


Float Length

Name of Type
32 bits
float
64 bits
double




No comments:

Post a Comment