Java Keywords Cheat Sheet

Introduction

Java keywords are reserved words that have a predefined meaning in the language. They are used to perform various operations and cannot be used as identifiers (such as variable names, function names, etc.). This cheat sheet provides a quick reference to all the Java keywords along with a brief description of their use.

Java Keywords Cheat Sheet

Keyword Description
byte Used to declare primitive byte type of variables.
short Used to declare primitive short type of variables.
int Used to declare primitive integer type of variables.
long Used to declare primitive long type of variables.
float Used to declare primitive float type of variables.
double Used to declare primitive double type of variables.
char Used to declare primitive character type of variables.
boolean Used to declare primitive boolean type of variables.
var Used to declare a variable of any type (introduced in Java 10).
if Used to define if condition statements or blocks.
else Used in if-else blocks.
for Used to define for loops.
while Used to define while loops.
do Used in do-while loops.
switch Used to define switch blocks or switch expressions (from Java 12).
case Used to define case labels in a switch block.
break Used to break a loop or a block.
continue Used to stop the execution of current iteration and start the next iteration.
default Used in switch blocks to define default case labels and default methods (from Java 8).
yield Used in switch expressions (from Java 13).
class Used to define a class in Java.
new Used while instantiating a class.
static Used to define static members of a class.
interface Used to define an interface.
extends Used when a class is extending or inheriting another class.
implements Used to implement an interface.
super Used to access superclass members inside a subclass.
this Used to access other members of the same class.
abstract Used to define abstract classes and abstract methods.
final Used to define final classes and final methods.
package Used to specify a package for the current file.
enum Used to define enum types.
private Used to define private fields, methods, and constructors.
protected Used to define protected fields, methods, and constructors.
public Used to define public classes, fields, methods, and constructors.
try Used to define a try block.
catch Used to define a catch block.
finally Used to define a finally block.
throw Used to throw an exception manually.
throws Used to specify the exceptions which may be thrown by the current method.
synchronized Used to define synchronized blocks.
volatile Used to define a volatile field whose value is always read from the main memory.
module Used to define a module (introduced in Java 9).
exports Used to export all public members of a package in a module.
requires Used to specify required libraries inside a module.
open Used to create an open module that grants reflective access to other modules.
opens Used to expose specific packages for reflective access by other modules.
uses Specifies the services consumed by the current module.
provides Specifies services provided by the current module.
sealed Used to define sealed classes and interfaces (introduced in Java 17).
non-sealed Used to define non-sealed classes and interfaces.
permits Used to specify the subclasses that can extend the sealed class directly.
void Indicates that a method returns nothing.
return Used to return a value from a method or a block.
transient Used in serialization to indicate that a variable should not be serialized.
strictfp Ensures strict precision of floating-point calculations on different platforms.
import Used to import external resources into the current Java file.
instanceof Used to check whether an object is of a specified type.
native Indicates that a method is implemented in native code using JNI.
record Used to define a special type of classes that act as data carriers (introduced in Java 14).
assert Used in debugging to make an assertion.
const Reserved but not used.
goto Reserved but not used.
_ From Java 9, _ (underscore) has become a keyword and cannot be used as an identifier.

Explanation and Examples of Java Keywords

byte

Used to declare primitive byte type of variables. 

Example:

byte b = 100;

Explanation: Declares a byte variable b and assigns it the value 100.

short

Used to declare primitive short type of variables. 

Example:

short s = 1000;

Explanation: Declares a short variable s and assigns it the value 1000.

int

Used to declare primitive integer type of variables. 

Example:

int number = 10;

Explanation: Declares an int variable number and assigns it the value 10.

long

Used to declare primitive long type of variables. 

Example:

long bigNumber = 100000L;

Explanation: Declares a long variable bigNumber and assigns it the value 100000.

float

Used to declare primitive float type of variables. 

Example:

float pi = 3.14f;

Explanation: Declares a float variable pi and assigns it the value 3.14.

double

Used to declare primitive double type of variables. 

Example:

double pi = 3.14159;

Explanation: Declares a double variable pi and assigns it the value 3.14159.

char

Used to declare primitive character type of variables. 

Example:

char letter = 'A';

Explanation: Declares a char variable letter and assigns it the value 'A'.

boolean

Used to declare primitive boolean type of variables. 

Example:

boolean isJavaFun = true;

Explanation: Declares a boolean variable isJavaFun and assigns it the value true.

var

Used to declare a variable of any type (introduced in Java 10). 

Example:

var number = 10;

Explanation: The var keyword infers the type of the variable number as int.

if

Used to define if condition statements or blocks. 

Example:

if (number > 5) {
    System.out.println("Number is greater than 5");
}

Explanation: The if block executes if the condition number > 5 is true.

else

Used in if-else blocks. 

Example:

if (number < 5) {
    System.out.println("Number is less than 5");
} else {
    System.out.println("Number is 5 or greater");
}

Explanation: The else block executes if the if condition is false.

for

Used to define for loops. 

Example:

for (int i = 0; i < 5; i++) {
    System.out.println(i);
}

Explanation: The for loop iterates from i = 0 to i < 5.

while

Used to define while loops. 

Example:

int i = 0;
while (i < 5) {
    System.out.println(i);
    i++;
}

Explanation: The while loop executes as long as the condition i < 5 is true.

do

Used in do-while loops. 

Example:

int i = 0;
do {
    System.out.println(i);
    i++;
} while (i < 5);

Explanation: The do block executes at least once before checking the condition.

switch

Used to define switch blocks or switch expressions (from Java 12). 

Example:

int day = 2;
switch (day) {
    case 1:
        System.out.println("Monday");
        break;
    case 2:
        System.out.println("Tuesday");
        break;
    default:
        System.out.println("Other day");
}

Explanation: The switch statement tests the value of day and executes the corresponding case block.

case

Used to define case labels in a switch block. 

Example:

int day = 2;
switch (day) {
    case 1:
        System.out.println("Monday");
        break;
    case 2:
        System.out.println("Tuesday");
        break;
    default:
        System.out.println("Other day");
}

Explanation: The case statement checks the value of day and executes the corresponding block of code.

break

Used to break a loop or a block. 

Example:

for (int i = 0; i < 10; i++) {
    if (i == 5) {
        break;
    }
    System.out.println(i);
}

Explanation: The break statement exits the for loop when i equals 5.

continue

Used to stop the execution of the current iteration and start the next iteration in a loop. Example:

for (int i = 0; i < 10; i++) {
    if (i % 2 == 0) {
        continue;
    }
    System.out.println(i);
}

Explanation: The continue statement skips the current iteration when i is even.

default

Used in switch blocks to define default case labels and default methods (from Java 8). Example:

int day = 7;
switch (day) {
    case 1:
        System.out.println("Monday");
        break;
    case 2:
        System.out.println("Tuesday");
        break;
    default:
        System.out.println("Other day");
}

Explanation: The default block executes if none of the case conditions are met.

yield

Used in switch expressions (from Java 13). 

Example:

int day = 2;
String result = switch (day) {
    case 1 -> "Monday";
    case 2 -> "Tuesday";
    default -> "Other day";
};
System.out.println(result);

Explanation: The yield keyword returns a value from a switch expression.

class

Used to define a class in Java. 

Example:

class MyClass {
    int x = 5;
}

Explanation: Declares a class MyClass with a member variable x.

new

Used while instantiating a class. 

Example:

Dog myDog = new Dog();

Explanation: The new keyword creates a new instance of the Dog class.

static

Used to define static members of a class. 

Example:

class MyClass {
    static int count = 0;
}

Explanation: The count variable is static and belongs to the MyClass class rather than its instances.

interface

Used to define an interface. 

Example:

interface Animal {
    void makeSound();
}

Explanation: The interface keyword declares an interface Animal with an abstract method makeSound().

extends

Used when a class is extending or inheriting another class. 

Example:

class Animal {
    void eat() {
        System.out.println("Eating...");
    }
}
class Dog extends Animal {
    void bark() {
        System.out.println("Barking...");
    }
}

Explanation: The Dog class extends the Animal class, inheriting its eat() method.

implements

Used to implement an interface. 

Example:

class Dog implements Animal {
    public void makeSound() {
        System.out.println("Bark");
    }
}

Explanation: The Dog class implements the Animal interface by providing an implementation of the makeSound() method.

super

Used to access superclass members inside a subclass. 

Example:

class Animal {
    void eat() {
        System.out.println("Eating...");
    }
}
class Dog extends Animal {
    void eat() {
        super.eat();
        System.out.println("Dog is eating...");
    }
}

Explanation: The super keyword calls the eat() method of the superclass Animal.

this

Used to access other members of the same class. 

Example:

class MyClass {
    int x;
    MyClass(int x) {
        this.x = x;
    }
}

Explanation: The this keyword refers to the current instance variable x.

abstract

Used to define abstract classes and abstract methods. 

Example:

abstract class Animal {
    abstract void makeSound();
}
class Dog extends Animal {
    void makeSound() {
        System.out.println("Bark");
    }
}

Explanation: The Animal class is abstract and has an abstract method makeSound(). The Dog class extends Animal and provides an implementation for the makeSound() method.

final

Used to define final classes and final methods. 

Example:

final class MyClass {
    final void display() {
        System.out.println("Hello");
    }
}

Explanation: The final keyword prevents the MyClass class from being subclassed, and the display() method from being overridden.

package

Used to specify a package for the current file. 

Example:

package mypackage;

Explanation: The package keyword declares that the class belongs to the mypackage package.

enum

Used to define enum types. 

Example:

enum Day {
    MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY
}

Explanation: The enum keyword declares an enumeration Day with constants representing days of the week.

private

Used to define private fields, methods, and constructors. 

Example:

class MyClass {
    private int x = 5;
}

Explanation: The x variable is private and can only be accessed within the MyClass class.

protected

Used to define protected fields, methods, and constructors. 

Example:

class Animal {
    protected void eat() {
        System.out.println("Eating...");
    }
}
class Dog extends Animal {
    void bark() {
        System.out.println("Barking...");
    }
}

Explanation: The eat() method is protected and can be accessed by the Dog class, which extends Animal.

public

Used to define public classes, fields, methods, and constructors. 

Example:

public class MyClass {
    public int x = 5;
}

Explanation: The x variable is public and can be accessed by any other class.

try

Used to define a try block. 

Example:

try {
    int division = 10 / 0;
} catch (ArithmeticException e) {
    System.out.println("Cannot divide by zero");
}

Explanation: The try block contains code that might throw an exception.

catch

Used to define a catch block. 

Example:

try {
    int division = 10 / 0;
} catch (ArithmeticException e) {
    System.out.println("Cannot divide by zero");
}

Explanation: The catch block catches the ArithmeticException thrown by the division by zero.

finally

Used to define a finally block. 

Example:

try {
    int division = 10 / 0;
} catch (ArithmeticException e) {
    System.out.println("Cannot divide by zero");
} finally {
    System.out.println("This is the finally block");
}

Explanation: The finally block executes regardless of whether an exception is thrown or not.

throw

Used to throw an exception. 

Example:

void checkAge(int age) {
    if (age < 18) {
        throw new ArithmeticException("Not eligible to vote");
    }
}

Explanation: The throw keyword throws an ArithmeticException if the age is less than 18.

throws

Used to specify the exceptions which may be thrown by the current method. 

Example:

void myMethod() throws IOException {
    throw new IOException("File not found");
}

Explanation: The throws keyword indicates that the myMethod can throw an IOException.

synchronized

Used to define synchronized blocks. 

Example:

public synchronized void increment() {
    count++;
}

Explanation: The synchronized keyword ensures that the increment method is accessed by only one thread at a time.

volatile

Used to define a volatile field whose value is always read from the main memory. Example:

class MyClass {
    volatile int sharedVar;
}

Explanation: The volatile keyword ensures that the sharedVar is read from and written to main memory directly.

module

Used to define a module (introduced in Java 9). 

Example:

module mymodule {
    requires java.base;
    exports com.example.mypackage;
}

Explanation: The module keyword declares a module named mymodule, specifies its dependencies, and exports its packages.

exports

Used to export all public members of a package in a module. 

Example:

module mymodule {
    exports com.example.mypackage;
}

Explanation: The exports keyword makes the public members of the com.example.mypackage package accessible to other modules.

requires

Used to specify required libraries inside a module. 

Example:

module mymodule {
    requires java.sql;
}

Explanation: The requires keyword specifies that the mymodule module depends on the java.sql module.

open

Used to create an open module that grants reflective access to other modules. 

Example:

open module mymodule {
    requires java.base;
}

Explanation: The open keyword allows all packages in the mymodule module to be reflectively accessed by other modules.

opens

Used to expose specific packages for reflective access by other modules. 

Example:

module mymodule {
    opens com.example.mypackage to some.other.module;
}

Explanation: The opens keyword allows the some.other.module module to reflectively access the com.example.mypackage package.

uses

Specifies the services consumed by the current module. 

Example:

module mymodule {
    uses com.example.MyService;
}

Explanation: The uses keyword indicates that the mymodule module depends on the com.example.MyService service.

provides

Specifies services provided by the current module. 

Example:

module mymodule {
    provides com.example.MyService with com.example.MyServiceImpl;
}

Explanation: The provides keyword indicates that the mymodule module provides an implementation of the com.example.MyService service.

sealed

Used to define sealed classes and interfaces (introduced in Java 17). 

Example:

public sealed class Shape permits Circle, Square {
}

Explanation: The sealed keyword restricts which other classes can extend or implement the Shape class.

non-sealed

Used to define non-sealed classes and interfaces. 

Example:

public non-sealed class Circle extends Shape {
}

Explanation: The non-sealed keyword allows the Circle class to be extended by other classes.

permits

Used to specify the subclasses that can extend the sealed class directly. 

Example:

public sealed class Shape permits Circle, Square {
}

Explanation: The permits keyword specifies that only the Circle and Square classes can directly extend the Shape class.

void

Indicates that a method returns nothing. 

Example:

void display() {
    System.out.println("Hello");
}

Explanation: The void keyword indicates that the display method does not return a value.

return

Used to return a value from a method or a block. 

Example:

public int sum(int a, int b) {
    return a + b;
}

Explanation: The return statement exits the sum method and returns the sum of a and b.

transient

Used in serialization to indicate that a variable should not be serialized. 

Example:

class MyClass implements Serializable {
    transient int x;
}

Explanation: The transient keyword prevents the x field from being serialized.

strictfp

Ensures strict precision of floating-point calculations on different platforms. 

Example:

strictfp class MyClass {
    double num = 0.0;
}

Explanation: The strictfp keyword ensures that floating-point calculations conform to IEEE 754 standards.

import

Used to import external resources into the current Java file. 

Example:

import java.util.ArrayList;

Explanation: The import statement imports the ArrayList class from the java.util package.

instanceof

Used to check whether an object is of a specified type. 

Example:

Dog myDog = new Dog();
System.out.println(myDog instanceof Animal); // true

Explanation: The instanceof operator checks if myDog is an instance of the Animal class.

native

Indicates that a method is implemented in native code using JNI. 

Example:

public class MyClass {
    public native void nativeMethod();
}

Explanation: The native keyword indicates that the nativeMethod() is implemented in native code (e.g., C/C++).

record

Used to define a special type of classes that act as data carriers (introduced in Java 14). Example:

public record Point(int x, int y) {
}

Explanation: The record keyword defines a Point record class with two fields: x and y.

assert

Used in debugging to make an assertion. 

Example:

int age = -5;
assert age > 0 : "Age cannot be negative";

Explanation: The assert statement checks if the age is positive. If not, it throws an AssertionError with the message "Age cannot be negative".

const

Reserved but not used. 

Example: N/A

goto

Reserved but not used. 

Example: N/A

_ (Underscore)

From Java 9, _ (underscore) has become a keyword and cannot be used as an identifier. Example: N/A

Conclusion

This cheat sheet provides a comprehensive reference to all the Java keywords, helping you understand their usage and enhance your programming skills. Keep this guide handy to ensure you are using these keywords correctly and efficiently in your Java code. Happy coding!

Comments