- Java Tutorial
- Java Introduction
- Java Features
- Java Simple Program
- JVM, JDK and JRE
- Java Syntax
- Java Comments
- Java Keywords
- Java Variables
- Java Literals
- Java Separators
- Java Datatypes
- Java Operators
- Java Statements
- Java Strings
- Java Arrays
- Control Statement
- Java If
- Java If-else
- Java If-else-if
- Java Nested If
- Java Switch
- Iteration Statement
- Java For Loop
- Java For Each Loop
- Java While Loop
- Java Do While Loop
- Java Nested Loop
- Java Break/Continue
- Java Methods
- Java Methods
- Java Method Parameters
- Java Method Overloading
- Java Recursion
- Java OOPS
- Java OOPs
- Java Classes/Objects
- Java Inheritance
- Java Polymorphism
- Java Encapsulation
- Java Abstraction
- Java Modifiers
- Java Constructors
- Java Interface
- Java static keyword
- Java this keyword
- Java File Handling
- Java File
- Java Create File
- Java Read/Write File
- Java Delete File
- Java Program To
- Add Two Numbers
- Even or Odd Numbers
- Reverse a String
- Swap Two Numbers
- Prime Number
- Fibonacci Sequence
- Palindrome Strings
- Java Reference
- Java String Methods
- Java Math Methods
Java Operators
In Java, operators are special symbols that perform specific operations on one, two, or three operands and then return a result. If you think of your variables as "nouns," operators are the "verbs" that allow you to manipulate data, perform math, and make logical decisions in your code. Understanding how these operators work and their order of precedence is fundamental to writing functional Java applications.
Arithmetic Operators:
- Used to perform basic mathematical calculations.
- Include addition (+), subtraction (-), multiplication (*), division (/), and remainder/modulus (%).
The modulus operator (%) is particularly useful in programming for tasks like checking if a number is even or odd (e.g., number % 2 == 0) or keeping a value within a specific range.
5 / 2), the result will be truncated to 2, not 2.5. To get a decimal result, at least one of the numbers must be a double or float.
Assignment Operators:
- Used to store values in variables.
- Include the simple assignment (=) and compound assignments (e.g., +=, -=, *=, /=).
Compound operators provide a shorthand way to update a variable's value based on its current value. For example, score += 10 is a cleaner way of writing score = score + 10. This is widely used in loops and when accumulating totals.
+=) to make your code more concise and easier for other developers to read quickly.
Comparison Operators:
- Used to compare two values, always resulting in a
boolean(true or false). - Include equal to (==), not equal to (!=), greater than (>), less than (<), greater than or equal to (>=), and less than or equal to (<=).
These are the backbone of control flow statements like if blocks and while loops. They allow your program to branch in different directions based on data input.
=) with the equality comparison operator (==). Remember: = sets a value, while == asks a question.
Logical Operators:
- Used to combine multiple boolean expressions or flip a boolean value.
- Include logical AND (&&), logical OR (||), and logical NOT (!).
Java uses "short-circuit" evaluation for && and ||. For &&, if the first condition is false, Java won't even check the second one because the whole expression is already guaranteed to be false. This can be used to prevent errors, such as checking if an object is not null before accessing its properties: (user != null && user.isActive()).
Unary Operators:
- Operate on a single operand to increment, decrement, or negate a value.
- Include unary plus (+), unary minus (-), pre/post-increment (++), pre/post-decrement (--), and logical complement (!).
The increment (++) and decrement (--) operators can be placed before (prefix) or after (postfix) the variable. While both add 1 to the variable, they behave differently if used inside an expression. ++x increments then evaluates, while x++ evaluates then increments.
Ternary Operator:
- A shorthand conditional operator (? :) used for simple decision-making.
- Structure:
variable = (condition) ? valueIfTrue : valueIfFalse;
This is often used to replace simple if-else statements when assigning a value. For example, String status = (age >= 18) ? "Adult" : "Minor";.
Bitwise Operators:
- Operate on the individual bits of integer types (long, int, short, char, byte).
- Include bitwise AND (&), bitwise OR (|), bitwise XOR (^), left shift (<<), right shift (>>), and unsigned right shift (>>>).
While less common in everyday web development, bitwise operators are essential for low-level programming, graphics processing, cryptography, and optimizing performance-critical applications where flags are stored in single bits.
Example
public class OperatorsExample {
public static void main(String[] args) {
// --- Arithmetic operators in action ---
int a = 10;
int b = 5;
int sum = a + b; // 15
int quotient = a / b; // 2
int remainder = a % 3; // 1 (10 divided by 3 leaves 1)
// --- Assignment operators ---
int score = 100;
score += 20; // score is now 120
// --- Comparison operators ---
// Used frequently in 'if' conditions
boolean isGameOver = (score >= 100); // true
// --- Logical operators ---
// Check if a player has lives left AND has a high score
int lives = 3;
boolean canLevelUp = (lives > 0) && (score > 50); // true
// --- Unary operators ---
int counter = 0;
counter++; // counter is now 1
boolean isToggled = true;
isToggled = !isToggled; // now false
// --- Ternary operator ---
// A quick way to get a value based on a condition
String message = (score > 100) ? "High Score!" : "Keep Trying!";
// --- Bitwise operators ---
// Operating at the bit level
int bitwiseAnd = a & b; // 1010 & 0101 = 0000 (0)
int leftShift = 1 << 2; // Binary 1 (0001) becomes 4 (0100)
}
}
Summary
Java operators provide the necessary tools to manipulate data and control the flow of your application logic. From simple math to complex conditional checks, mastering these operators is a key step in moving from a beginner to an intermediate developer. Always prioritize readability by using parentheses and choosing the most descriptive operator for the task at hand.