Bird
Raised Fist0
Javaprogramming~5 mins

Operator precedence in Java

Choose your learning style10 modes available
Introduction
Operator precedence tells the computer which math or logic operation to do first when there are many in one line.
When you write math calculations with many operators like +, -, *, / in one line.
When you combine logic checks like &&, ||, and ! in one condition.
When you want to avoid mistakes in how your program calculates or decides things.
When you read code and want to understand how the computer will solve the expression.
When you use parentheses to change the order of operations.
Syntax
Java
result = expression_with_operators;
Operators like *, /, % have higher precedence than + and -.
Parentheses () can change the order to make some parts calculate first.
Examples
Multiplication (*) happens before addition (+), so 3*4=12, then 2+12=14.
Java
int result = 2 + 3 * 4;
Parentheses make 2+3 happen first, so 5*4=20.
Java
int result = (2 + 3) * 4;
&& has higher precedence than ||, so false && false = false, then true || false = true.
Java
boolean check = true || false && false;
Parentheses change order: true || false = true, then true && false = false.
Java
boolean check = (true || false) && false;
Sample Program
This program shows how operator precedence works with math and logic operators. It prints the results to see the order of calculation.
Java
public class OperatorPrecedenceDemo {
    public static void main(String[] args) {
        int a = 5 + 2 * 3; // 2*3=6, then 5+6=11
        int b = (5 + 2) * 3; // 5+2=7, then 7*3=21
        boolean c = true || false && false; // false && false = false, then true || false = true
        boolean d = (true || false) && false; // true || false = true, then true && false = false

        System.out.println("a = " + a);
        System.out.println("b = " + b);
        System.out.println("c = " + c);
        System.out.println("d = " + d);
    }
}
OutputSuccess
Important Notes
Always use parentheses if you want to be sure about the order of operations.
Remember that multiplication, division, and modulus have higher precedence than addition and subtraction.
Logical AND (&&) has higher precedence than logical OR (||).
Summary
Operator precedence decides which operation runs first in an expression.
Use parentheses to control or clarify the order.
Knowing precedence helps avoid bugs and understand code better.

Practice

(1/5)
1. Which operator has the highest precedence in the expression 3 + 4 * 5?
easy
A. Subtraction (-)
B. Addition (+)
C. Division (/)
D. Multiplication (*)

Solution

  1. Step 1: Identify operators in the expression

    The expression has addition (+) and multiplication (*).
  2. Step 2: Recall operator precedence rules

    Multiplication (*) has higher precedence than addition (+), so it runs first.
  3. Final Answer:

    Multiplication (*) -> Option D
  4. Quick Check:

    Multiplication > Addition [OK]
Hint: Multiplication and division run before addition and subtraction [OK]
Common Mistakes:
  • Thinking addition runs before multiplication
  • Ignoring operator precedence
  • Assuming left to right always applies
2. Which of the following expressions is syntactically correct in Java?
easy
A. int result = 5 + (3 * 2);
B. int result = 5 + * 3;
C. int result = 5 + 3 *;
D. int result = 5 + 3 * 2))

Solution

  1. Step 1: Check each expression for syntax errors

    int result = 5 + * 3; has an invalid operator sequence '+ *'. int result = 5 + 3 *; ends with '*;' which is incomplete. int result = 5 + 3 * 2)) has unmatched parentheses.
  2. Step 2: Validate correct syntax

    int result = 5 + (3 * 2); uses parentheses properly and valid operators, so it is correct.
  3. Final Answer:

    int result = 5 + (3 * 2); -> Option A
  4. Quick Check:

    Valid syntax uses proper operators and balanced parentheses [OK]
Hint: Check for balanced parentheses and valid operator placement [OK]
Common Mistakes:
  • Leaving operators without operands
  • Unbalanced parentheses
  • Using invalid operator sequences
3. What is the output of the following Java code?
int x = 2 + 3 * 4 - 6 / 2;
System.out.println(x);
medium
A. 12
B. 10
C. 11
D. 14

Solution

  1. Step 1: Apply operator precedence to the expression

    Multiplication and division run before addition and subtraction:
    3 * 4 = 12
    6 / 2 = 3
  2. Step 2: Calculate the expression left to right

    Expression becomes: 2 + 12 - 3
    2 + 12 = 14
    14 - 3 = 11
  3. Final Answer:

    11 -> Option C
  4. Quick Check:

    2 + (3*4) - (6/2) = 11 [OK]
Hint: Do multiplication/division first, then addition/subtraction [OK]
Common Mistakes:
  • Adding before multiplying
  • Ignoring division precedence
  • Calculating left to right without precedence
4. The following code throws a compilation error. What is the cause?
int a = 5;
int b = 10;
int c = a + * b;
medium
A. Incorrect variable declaration
B. Missing operand between + and * operators
C. Missing semicolon at the end
D. Using undeclared variable

Solution

  1. Step 1: Analyze the expression syntax

    The expression 'a + * b' has two operators '+' and '*' without a number or variable between them, which is invalid.
  2. Step 2: Identify the compilation error cause

    Java expects an operand between operators. The missing operand causes a syntax error.
  3. Final Answer:

    Missing operand between + and * operators -> Option B
  4. Quick Check:

    Operators must have operands between them [OK]
Hint: Check for missing operands between operators [OK]
Common Mistakes:
  • Assuming multiple operators can be together
  • Ignoring syntax errors
  • Confusing variable declaration with expression errors
5. Consider the expression:
int result = 10 - 2 * 3 + 4 / 2;

How can you change the expression using parentheses to make addition happen before multiplication and subtraction?
hard
A. int result = 10 - (2 * (3 + 4 / 2));
B. int result = (10 - 2) * (3 + 4) / 2;
C. int result = 10 - ((2 * 3) + (4 / 2));
D. int result = 10 - (2 * 3 + 4) / 2;

Solution

  1. Step 1: Understand original precedence

    Original expression evaluates multiplication and division first:
    2 * 3 = 6
    4 / 2 = 2
    Then subtraction and addition left to right:
    10 - 6 + 2 = 6
  2. Step 2: Use parentheses to make addition happen before multiplication and subtraction

    To add before multiplication, group inside parentheses:
    3 + 4 / 2
    Since division has higher precedence, 4 / 2 = 2, so 3 + 2 = 5
    Expression becomes:
    10 - (2 * 5) = 10 - 10 = 0
  3. Final Answer:

    int result = 10 - (2 * (3 + 4 / 2)); -> Option A
  4. Quick Check:

    Parentheses change order to add before multiply [OK]
Hint: Use parentheses to group operations you want first [OK]
Common Mistakes:
  • Misplacing parentheses changing meaning
  • Ignoring division precedence inside parentheses
  • Assuming parentheses don't affect order
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard