1
0

Keywords in Java

Keywords are reserved words having predefined meanings, and they cannot be used as identifiers or variables. These words can only be used in the program in a manner defined in the language. ANSI C has only 32 keywords. Java has almost 50 keywords, including some reserved words for future use in case language designers add to the language. The keywords can be divided into several categories according to their main usage i.e.

Used for built-in types:

boolean      
char      
byte short int long
float double widefp strictfp
void      

Used in expressions:

new this super

Used in statements:

(In Selection Statements)

if else    
switch case break default

(In Iteration Statements)

for continue
do while

(In transfer control statements)

return throw

(Exception statements)

try catch  finally

(Thread Statements)

synchronized

Used in visibility or sharing declaration:

static    
abstract final  
private protected public

Used for other methods or class-related purposes:

class instanceof throws native
transient volatile    

Used for large-than-class building blocks:

extends interface implements package import

Reserved Literals:

true false null

Reserved for possible future use:

const goto

A brief description of these reserved words is given below:

boolean

The boolean keyword is used to declare a field that can store a boolean value, either true or false. This keyword is also used to express that a method returns a value of type boolean.

char

The char keyword is used to declare a field that can store a 16-bit Unicode character. This keyword is also used to express that a method returns a value of type char.

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 express that a method returns a value of type byte.

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 express that a method returns a value of type short.

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 express that a method returns a value of type int.

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 express that a method returns a value of type long.

float

The float keyword is used to declare a field that can hold a 32-bit single-precision (IEEE Standard) floating-point number. This keyword is also used to express that a method returns a value of type float.

double

The double keyword is used to declare a field that can hold a 64-bit double-precision (IEEE Standard) floating-point number. This keyword is also used to express that a method returns a value of type double.

strictfp (as of J2SE 1.2)

A Java keyword is used to restrict the precision and rounding or floating-point calculations to ensure portability.

void

The void keyword is used to declare that a method does not return any.

new

Used to create an instance of a class or array/an object.

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.

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.

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.

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 is evaluated.

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 labeled by default is executed, if included.

case

The case keyword is used to create individual cases in a switch statement.

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.

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.

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 is 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.

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.

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.

continue

Used to resume program execution from the next iteration and skip all instructions appearing after continue statement. If followed by a label, continue resumes execution from the next iteration of enclosing labeled loop.

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.

throw

This 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.

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.

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.

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 the execution left method in the middle of the try or catch blocks using the return keyword.

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.

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.

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.

final

Define an entity that cannot be changed or derived from later. More specifically: a final class cannot be sub-classed, 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.

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.

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 specifies the interfaces the class implements and the immediate superclass of the class. If the superclass is not explicitly specified, the superclass is implicitly Object.

instanceof

A binary operator 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.

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 is not instances of RuntimeException must be declared using the throws keyword.

native

Used in method declarations to specify that the method is not implemented in the same Java source file, but rather in another language.

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.

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.

extends

Used in a class declaration to specify the superclass; used in an interface declaration to specify one or more super interfaces. Class X extends class Y to add functionality, either by adding fields or methods to class Y or by overriding methods of class Y. 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 sub-interface of the interfaces it extends.

Also used to specify an upper bound on a type parameter in Generics.

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.

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.

package

A group of types. Packages are declared with the package keyword.

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.

false

A boolean literal value.

true

A boolean literal value.

null

A reference literal value.

const

Although reserved as a keyword in Java, const is not used and has no function.

enum (as of J2SE 5.0)

A Java keyword is used to declare an enumerated type. Enumerations extend the base class Enum.

goto

Although reserved as a keyword in Java, goto is not used and has no function.

assert

The assert keyword, which was added in J2SE 1.4, is used to make an assertion-a statement that 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.

Leave a Reply