// Tutorial //

Relational Operators in Java

Published on August 3, 2022
Default avatar
By Pankaj
Developer and author at DigitalOcean.
Relational Operators in Java

While we believe that this content benefits our community, we have not yet thoroughly reviewed it. If you have any suggestions for improvements, please let us know by clicking the “report an issue“ button at the bottom of the tutorial.

Relational Operators in Java are used to comparing two variables for equality, non-equality, greater than, less than, etc. Java relational operator always returns a boolean value - true or false.

Relational Operators in Java

Java has 6 relational operators.

  1. == is the equality operator. This returns true if both the operands are referring to the same object, otherwise false.
  2. != is for non-equality operator. It returns true if both the operands are referring to the different objects, otherwise false.
  3. < is less than operator.
  4. > is greater than operator.
  5. <= is less than or equal to operator.
  6. >= is greater than or equal to operator.

Relational Operators Supported Data Types

  • The == and != operators can be used with any primitive data types as well as objects.
  • The <, >, <=, and >= can be used with primitive data types that can be represented in numbers. It will work with char, byte, short, int, etc. but not with boolean. These operators are not supported for objects.

Relational Operators Example

package com.journaldev.java;

public class RelationalOperators {

	public static void main(String[] args) {

		int a = 10;
		int b = 20;

		System.out.println(a == b);
		System.out.println(a != b);
		System.out.println(a > b);
		System.out.println(a < b);
		System.out.println(a >= b);
		System.out.println(a <= b);

		// objects support == and != operators
		System.out.println(new Data1() == new Data1());
		System.out.println(new Data1() != new Data1());



class Data1 {


Relational Operators Java Example
Relational Operators Java Example

If you’ve enjoyed this tutorial and our broader community, consider checking out our DigitalOcean products which can also help you achieve your development goals.

Learn more here

About the authors
Default avatar


Developer and author at DigitalOcean.

Still looking for an answer?

Was this helpful?

Hello Thanks for sharing the post. I am not able to understand how == works for primitive data type but not for objects. In the above post it was mentioned that it returns true if both the operandi refers to the same object. I understood that it dosen’t work for objects as when we use new keyword new objects are created. So it returns false. But can you please explain how does it work for primitive data types? Thanks

- Mannam

    equals is an Override method of base class Object, then equals is better for object comparison and not for primitive types

    - Reynier Ramos Portieles

      Thank you for describing different operators in java, I’m adam from Sweden. I’m 47 years old and want to program in java. Some times the operator == does not work and I have to use .equals() ex in a nestled for-loop. https://pastebin.com/TXbWufVu

      - Carl-Adam Bergund