Final KeywordFinal Keyword

How to prevent changing the value of a variable

For this purpose, Java has a keyword called final. Let's consider a code snippet where we use this keyword:


You can see that in the code above, we have created two variables of type int, but one of them is marked with the final keyword. When we try to change the value of this variable, the compiler tells us about an error. Specifically, it indicates that we cannot modify a value that is marked with the final keyword.

What can we use final keyword for:

  • To create constants. A constant is a variable whose value cannot be changed after it has been initialized. In Java, constants are always declared using the final keyword;
  • To indicate that the value of a variable is final and should not be modified;
  • To prevent accidental modification of a final variable's value in our code.


Just using the keyword final alone is not enough to create a constant. To create constants, the construct private static final is used. Additionally, all constants have uppercase names separated by underscores, for example:

private static final int NUMBER_OF_CHESS_PLAYERS = 2;


Here is the code where I create multiple variables and perform mathematical operations on them. However, I only perform these operations on certain variables. Your task is to add the final keyword before the variables that I do not modify in this code to prevent me from accidentally changing them later.


  1. 1. Your syntax should look like this: final int var = value;
    1. 2. Only place the final keyword before the variables not modified later in the code.

package com.example;

public class Main {
    public static void main(String[] args) {
        // creating variables
        int a = 9;
        final int b = 15;
        int c = 21;
        int d = -62;
        final int e = 0;
        // using mathematical operations on them
        c = c + 9;
        d = d - 8;
        a = a + 1;
        int result = a + b + c + d + e;
        // printing the result



It is not necessary to use final everywhere. Use this keyword only when you are certain that you will not need to change the value of the variable in the future. If you use this keyword where it is not needed, you may confuse yourself in your own code.

Everything was clear?

Section 1. Chapter 3