Bird
Raised Fist0
Javaprogramming~20 mins

Unary operators in Java - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Unary Operator Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
Output of pre-increment and post-increment
What is the output of the following Java code?
Java
int x = 5;
System.out.println(x++);
System.out.println(++x);
A5\n7
B6\n7
C5\n6
D6\n6
Attempts:
2 left
💡 Hint
Remember that x++ returns the value before incrementing, while ++x increments first then returns.
❓ Predict Output
intermediate
2:00remaining
Output of unary minus and plus operators
What is the output of this Java code snippet?
Java
int a = 10;
int b = -a;
int c = +b;
System.out.println(b);
System.out.println(c);
A10\n10
B-10\n-10
C-10\n10
D10\n-10
Attempts:
2 left
💡 Hint
Unary minus changes the sign, unary plus returns the value as is.
❓ Predict Output
advanced
2:30remaining
Output with mixed unary operators and expressions
What will be printed by this Java code?
Java
int x = 3;
int y = x++ + ++x + --x + x--;
System.out.println(y);
A13
B15
C16
D12
Attempts:
2 left
💡 Hint
Evaluate each part step-by-step, tracking x's value changes carefully.
❓ Predict Output
advanced
2:00remaining
Output of unary logical complement operator
What is the output of this Java code?
Java
boolean flag = false;
System.out.println(!flag);
System.out.println(!!flag);
Afalse\ntrue
Btrue\ntrue
Cfalse\nfalse
Dtrue\nfalse
Attempts:
2 left
💡 Hint
The ! operator flips the boolean value.
🧠 Conceptual
expert
3:00remaining
Effect of unary operators on variable values
Given the following Java code, what is the final value of variable 'a' after execution?
Java
int a = 1;
int b = a++ + ++a + a-- + --a;
A1
B4
C3
D2
Attempts:
2 left
💡 Hint
Track the value of 'a' carefully after each unary operation.

Practice

(1/5)
1.

What does the unary operator ++ do in Java?

easy
A. Negates the value of a variable
B. Increases the value of a variable by 1
C. Decreases the value of a variable by 1
D. Checks if a value is true or false

Solution

  1. Step 1: Understand the meaning of ++

    The ++ operator adds 1 to the current value of a variable.
  2. Step 2: Compare with other unary operators

    -- subtracts 1, ! flips boolean, and negation changes sign.
  3. Final Answer:

    Increases the value of a variable by 1 -> Option B
  4. Quick Check:

    ++ means add one [OK]
Hint: ++ means add one to a number quickly [OK]
Common Mistakes:
  • Confusing ++ with --
  • Thinking ++ negates the value
  • Mixing ++ with boolean negation !
2.

Which of the following is the correct **postfix** syntax to decrement a variable x by 1 using a unary operator?

int x = 5;
// Your code here
easy
A. x-1;
B. --x;
C. x--;
D. x=!1;

Solution

  1. Step 1: Identify decrement unary operators

    Both x-- and --x decrement by 1, but x-1 is an expression, not an operator.
  2. Step 2: Choose correct syntax for decrement

    x--; correctly decreases x by 1 after its current use.
  3. Final Answer:

    x--; -> Option C
  4. Quick Check:

    Use x-- to subtract one [OK]
Hint: Use x-- or --x to subtract one [OK]
Common Mistakes:
  • Using x-1; which doesn't change x
  • Confusing ! operator with decrement
  • Writing invalid syntax like x=!1;
3.

What is the output of the following Java code?

int a = 3;
System.out.println(++a);
System.out.println(a++);
System.out.println(a);
medium
A. 4 4 5
B. 3 4 5
C. 4 3 4
D. 3 3 4

Solution

  1. Step 1: Evaluate ++a

    ++a increases a before printing, so prints 4 and a becomes 4.
  2. Step 2: Evaluate a++

    a++ prints current a (4) then increases it to 5.
  3. Step 3: Print final value of a

    After previous steps, a is 5, so prints 5.
  4. Final Answer:

    4 4 5 -> Option A
  5. Quick Check:

    Prefix ++ adds before print, postfix ++ adds after print [OK]
Hint: Prefix ++ changes before print, postfix ++ after print [OK]
Common Mistakes:
  • Mixing prefix and postfix effects
  • Forgetting that ++ changes the variable
  • Assuming no change in variable after print
4.

Find the error in the following code snippet:

boolean flag = true;
flag = !flag++;
System.out.println(flag);
medium
A. No error, code runs fine
B. Missing semicolon after flag declaration
C. Logical NOT operator ! cannot be used here
D. Cannot apply ++ to a boolean variable

Solution

  1. Step 1: Check variable type and operators

    flag is boolean; ++ operator works only on numeric types, not boolean.
  2. Step 2: Identify invalid operation

    Using flag++ causes a compile-time error because booleans cannot be incremented.
  3. Final Answer:

    Cannot apply ++ to a boolean variable -> Option D
  4. Quick Check:

    ++ works only on numbers, not booleans [OK]
Hint: ++ cannot be used on boolean variables [OK]
Common Mistakes:
  • Trying to increment boolean values
  • Confusing logical NOT ! with increment ++
  • Assuming code compiles without error
5.

Given the code below, what will be the final value of count after execution?

int count = 0;
for (int i = 0; i < 3; i++) {
    count = count++ + ++count;
}
System.out.println(count);
hard
A. 14
B. 6
C. 12
D. 9

Solution

  1. Step 1: Understand count = count++ + ++count; behavior

    Binary + evaluates left operand first (count++: old value then increment), then right (++count: increment then new value).
  2. Step 2: Trace loop iterations

    Iteration 1 (count=0): count++ value=0 (count=1), ++count value=2, sum=2 -> count=2.
    Iteration 2 (count=2): count++=2 (count=3), ++count=4, sum=6 -> count=6.
    Iteration 3 (count=6): count++=6 (count=7), ++count=8, sum=14 -> count=14.
  3. Step 3: Final value after loop

    After 3 iterations, count is 14.
  4. Final Answer:

    14 -> Option A
  5. Quick Check:

    Left-to-right: postfix old + prefix new [OK]
Hint: Left operand postfix (old then inc), right prefix (inc then new) [OK]
Common Mistakes:
  • Assuming both increments add fully
  • Ignoring postfix increment side effects
  • Calculating sum without assignment effect
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