You may have always seen huge Java applications with thousands of lines of codes, but have you ever wondered what’s at their core? Well, those are Java tokens, the smallest individual elements, also known as a Java program’s building blocks. I will shed some light on Java tokens in Java via the use of this post, which are often ignored but form an integral part of Java programming language.

A program in Java is a set of classes and methods while methods are a collection of different expressions and statements. Java tokens are the small units of code that a Java compiler uses to build those statements and expressions. Java supports 5 Java tokens that are:

To get in-Depth knowledge on Java you can enroll for a live demo on Java Training

Java tokens:-

The Java Program consists of Classes and Methods and the Methods contain the different statements and the Statement consists of variables, constants, operators and so on.

Java tokens are the different elements of the Java program which are identified by the compiler and separated by delimiters. The Java tokens are not part of the delimiters. A token is the tiniest element of a compiler-significant program. The compiler breaks lines into pieces of text known as Java tokens. Java supported Java tokens include keywords, variables, constants, special characters, operations and so on.

Java-token compiler

The compiler scans the text in your source code when you compile a program, and extracts individual Java tokens.

Hi Public ClassPublic main static void(String args])System.out.println ("Java Hello");}}

Source code includes Java tokens such as public, class, Hello,, {public, static, void, main,, (String,], [args,, {System, out, println,, (“Hello Java,”},}. The resulting Java tokens are translated into Java bytecodes that can be executed from inside an interpreted java environment. Java tokens are useful for compilers to detect errors.

Java tokens are the program’s smallest unit. There are five token types

Reserve Word or Keywords:

Keywords are predefined identifiers reserved by Java for a particular purpose and used only in a restricted, precise way. Every keyword is given a specific function or task, and the user can not modify it. Keywords can not be used as variables or identifiers because they are part of Java syntax itself. A keyword should always be written in a lower case, because Java is a language sensitive to the situation. Java supports various keywords.

Take your career to new heights of success with Java Course


A Java identifier is a symbolic name provided by a programmer to specific programming elements such as process variables, class, sequence, etc. When you assign an identifier to the Java system, you can use it in later statements to refer to the value associated with that identifier. There are some de facto criteria that you have to meet when naming identifiers like as follows.

  • Identifiers must start with a letter, a dollar sign or an underlining.
  • Apart from the first character, any combination of characters may have an identifier.
  • Java identificators are case prone.
  • Java Identifiers can be anywhere long.
  • Name identifiers cannot include white spaces.
  • Any name of an identifier must not start with a digit but may include digits within it.

Above all, keywords can not be used as Java identifiers.

$myvariable  //correct_variable    //correctvariable     //correct&variable       //error23identifier    //errorswitch          //error


A literal is a constant value which can be categorized as literal integer, literal string and boolean literal. Java literals are identical to regular variables but can’t change their values once allocated. In other words literals are fixed-value constant variables. These are user defined, and can belong to any form of data. Java supports five types of literals that are as follows.

  • Entire
  • Floating Point
  • Character
  • Spread
  • Boolean
public class ItLiteral {public static void main(String[] args){int it1 = 112;     // Int literalfloat it2 = 31.10;     // Float literalchar it3 = 'it' // char literalString it4 = "Itreka"; // String literalboolean it5 = true; // Boolean literalSystem.out.println(it1); //112System.out.println(it2); //31.40System.out.println(it3); //System.out.println(it4); //ESystem.out.println(it5); //true}

Get More Info java certification course


An operator is a special symbol that tells the compiler to perform a specific mathematical or logical operation on one or more operands where the operand may be an expression. A Java operator is a special symbol which means that the compiler performs some particular mathematical or non-mathematical operations on one or more operands. Java supports 8 Operator forms.

  • Arithmetic
  • Unary
  • Assignment
  • Relational
  • Logical
  • Ternary
  • Bit wise
  • Shift


The lines used for virtual community related items together are separators.

Sequence of Java tokens from characters

The first step, a Java compiler tokenizes a program by scanning its characters from left to right, from top to bottom (at the end of each line, there is a secret end-of-line character. Note that it is equivalent to white space), and combining selected characters into Java tokens. It operates by repeating the following algorithm (a particular set of instructions is an algorithm. Avoid white space instead .

  • When the next character is an underscore, dollar, or alphabetic character, it generates a token for the identifier.
  • Except for identifying keywords and other literals (true, false, null) all of which share the identification type but are not identifiers themselves
  • When the next character is a numerical ‘or’ character, a literal token is created.
  • If the next character is a date, that is a seperator unless the character after it is a numerical character (in which case a double literal character is constructed).
  • If the next two characters start a message, / or / * constructs a message token.
  • If the next character is something else, it constructs a separator or operator token (trying to create the longest token, since white space separates Java tokens, except in a literal char or string).
  • Recall that Java tokens are separated by white space (except when within a literal text or comment).
  • The Java compiler also follows the “longest token rule”: it contains characters in a token before it exceeds a non-inclusive character.
  • Finally, after constructing and recognizing each token, the Java compiler passes all Java tokens on to the next step of the compiler (except for comments that are ignored after being tokenized).

Common Mistakes

I have seen repeated errors made by beginners seeking to tokenize the programs. Seek to understand each of these subtle points.

  • Tokenization of x as a literal char: it is an identifier.
  • Tokenizing 10.5 as two period-separated int literals: it is a double literal.
  • Tokenizing int as a literal word: it is a keyword, which in Java happens to name a type. Java tokens such as 1 are literals whose form is int; the keyword is int.
  • Tokenizing “Hello” with the Hello identifier in between as two separators: it is a single literal string.
  • Much like tokenizing; as one separator token: it’s actually two separates.
  • Tokenizing something like + = as two different operator Java tokens (because + and = are operators): this really is one big token (because + = is an operator).
  • Forgetting tokenize brackets, semicolons, and other separators: it all belongs in any token except white space.
  • Build Java tokens inside comments: each comment is a big token that contains all the characters in the comment.


I hope you got a brief overview of Java tokens. You can learn more through Java online training.

digital marketer

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store