| abstract | It is used to declare an abstract class. An abstract class can provide the implementation of the interface. It can have abstract and non-abstract methods. | 
|---|
| boolean | It is used to declare a variable as a boolean type. It can hold True and False values only. | 
|---|
| break | It is used to break the loop or switch statement. It breaks the current flow of the program at specified conditions. | 
|---|
| byte | It is used to declare a variable that can hold 8-bit data values. | 
|---|
| case | It is used with the switch statements to mark blocks of text. | 
|---|
| catch | It is used to catch the exceptions generated by try statements. It must be used after the try block only. | 
|---|
| char | It is used to declare a variable that can hold unsigned 16-bit Unicode characters. | 
|---|
| class | It is used to declare a class. | 
|---|
| continue | It is used to continue the loop. It continues the current flow of the program and skips the remaining code at the specified condition. | 
|---|
| default | It is used to specify the default block of code in a switch statement. | 
|---|
| do | It is used in the control statement to declare a loop. It can iterate a part of the program several times. | 
|---|
| double | It is used to declare a variable that can hold 64-bit floating-point number. | 
|---|
| else | It is used to indicate the alternative branches in an if statement. | 
|---|
| enum | It is used to define a fixed set of constants. Enum constructors are always private or default. | 
|---|
| extends | It is used to indicate that a class is derived from another class or interface. | 
|---|
| final | It is used to indicate that a variable holds a constant value. It is used with a variable. It is used to restrict the user from updating the value of the variable. | 
|---|
| finally | It indicates a block of code in a try-catch structure. This block is always executed whether an exception is handled or not. | 
|---|
| float | It is used to declare a variable that can hold a 32-bit floating-point number. | 
|---|
| for | It is used to start a for loop. It is used to execute a set of instructions/functions repeatedly when some condition becomes true. If the number of iteration is fixed, it is recommended to use for loop. | 
|---|
| if | The if keyword tests the condition. It executes the if block if the condition is true. | 
|---|
| implements | It is used to implement an interface. | 
|---|
| import | The import keyword makes classes and interfaces available and accessible to the current source code. | 
|---|
| instanceof | It is used to test whether the object is an instance of the specified class or implements an interface. | 
|---|
| int | It is used to declare a variable that can hold a 32-bit signed integer. | 
|---|
| interface | It is used to declare an interface. It can have only abstract methods. | 
|---|
| long | It is used to declare a variable that can hold a 64-bit integer. | 
|---|
| native | It is used to specify that a method is implemented in native code using JNI (Java Native Interface). | 
|---|
| new | It is used to create new objects. | 
|---|
| null | It is used to indicate that a reference does not refer to anything. It removes the garbage value. | 
|---|
| package | It is used to declare a Java package that includes the classes. | 
|---|
| private | It is an access modifier. It is used to indicate that a method or variable may be accessed only in the class in which it is declared. | 
|---|
| protected | It is an access modifier. It can be accessible within the package and outside the package but through inheritance only. It can't be applied with the class. | 
|---|
| public | It is an access modifier. It is used to indicate that an item is accessible anywhere. It has the widest scope among all other modifiers. | 
|---|
| return | It is used to return from a method when its execution is complete. | 
|---|
| short | It is used to declare a variable that can hold a 16-bit integer. | 
|---|
| static | It is used to indicate that a variable or method is a class method. The static keyword in Java is mainly used for memory management. | 
|---|
| strictfp | It is used to restrict the floating-point calculations to ensure portability. | 
|---|
| super | It is a reference variable that is used to refer to parent class objects. It can be used to invoke the immediate parent class method. | 
|---|
| switch | The switch keyword contains a switch statement that executes code based on test value. The switch statement tests the equality of a variable against multiple values. | 
|---|
| synchronized | It is used to specify the critical sections or methods in multithreaded code. | 
|---|
| this | this can be used to refer the current object in a method or constructor. | 
|---|
| throw | It is used to explicitly throw an exception. The throw keyword is mainly used to throw custom exceptions. It is followed by an instance. | 
|---|
| throws | It is used to declare an exception. Checked exceptions can be propagated with throws. | 
|---|
| transient | It is used in serialization. If you define any data member as transient, it will not be serialized. | 
|---|
| try | It is used to start a block of code that will be tested for exceptions. The try block must be followed by either catch or finally block. | 
|---|
| void | It is used to specify that a method does not have a return value. | 
|---|
| volatile | It is used to indicate that a variable may change asynchronously. | 
|---|
| while | It is used to start a while loop. This loop iterates a part of the program several times. If the number of iteration is not fixed, it is recommended to use the while loop. | 
|---|