Bird
Raised Fist0
Javaprogramming~10 mins

Ternary operator in Java - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to assign the smaller of two numbers to the variable min using the ternary operator.

Java
int a = 10;
int b = 20;
int min = (a < b) ? [1] : b;
Drag options to blanks, or click blank then click option'
Ab
Ba
C10
D20
Attempts:
3 left
💡 Hint
Common Mistakes
Using b instead of a for the true case.
Confusing the order of values in the ternary operator.
2fill in blank
medium

Complete the code to assign "Even" or "Odd" to the variable result based on whether num is even or odd.

Java
int num = 7;
String result = (num % 2 == 0) ? [1] : "Odd";
Drag options to blanks, or click blank then click option'
A"Even"
B"Odd"
Cnum
D"Number"
Attempts:
3 left
💡 Hint
Common Mistakes
Swapping the true and false values.
Using the variable num instead of string literals.
3fill in blank
hard

Fix the error in the ternary expression to correctly assign the absolute value of number to absValue.

Java
int number = -5;
int absValue = (number >= 0) ? number : [1];
Drag options to blanks, or click blank then click option'
A0
Bnumber
C-number
Dnumber * -1
Attempts:
3 left
💡 Hint
Common Mistakes
Using number instead of its negation for negative values.
Using number * -1 which is correct but less common than -number.
4fill in blank
hard

Fill both blanks to create a ternary expression that assigns "Pass" if score is 50 or more, otherwise "Fail".

Java
int score = 65;
String grade = (score [1] 50) ? [2] : "Fail";
Drag options to blanks, or click blank then click option'
A>=
B<
C"Pass"
D"Fail"
Attempts:
3 left
💡 Hint
Common Mistakes
Using < instead of >= in the condition.
Swapping the strings "Pass" and "Fail".
5fill in blank
hard

Fill all three blanks to create a ternary expression that assigns the maximum of x and y to max.

Java
int x = 15;
int y = 25;
int max = ([1] [2] [3]) ? x : y;
Drag options to blanks, or click blank then click option'
Ax
By
C<
D>
Attempts:
3 left
💡 Hint
Common Mistakes
Using < instead of > in the condition.
Swapping x and y in the condition or result.

Practice

(1/5)
1. What does the ternary operator condition ? valueIfTrue : valueIfFalse do in Java?
easy
A. It creates a loop that runs twice.
B. It chooses one of two values based on the condition's truth.
C. It declares a new variable.
D. It throws an error if the condition is false.

Solution

  1. Step 1: Understand the ternary operator syntax

    The ternary operator uses a condition followed by a question mark, then two values separated by a colon.
  2. Step 2: Determine its purpose

    It returns the first value if the condition is true, otherwise the second value.
  3. Final Answer:

    It chooses one of two values based on the condition's truth. -> Option B
  4. Quick Check:

    condition ? trueValue : falseValue = chooses value [OK]
Hint: Think: condition true? pick first : else pick second [OK]
Common Mistakes:
  • Confusing ternary with loops
  • Thinking it declares variables
  • Assuming it throws errors automatically
2. Which of the following is the correct syntax for a ternary operator in Java?
easy
A. int result = (x > 0) ? (1 : -1);
B. int result = (x > 0) ? 1, -1;
C. int result = (x > 0) : 1 ? -1;
D. int result = (x > 0) ? 1 : -1;

Solution

  1. Step 1: Review ternary operator syntax

    The correct syntax is: condition ? valueIfTrue : valueIfFalse;
  2. Step 2: Check each option

    int result = (x > 0) ? 1 : -1; matches the correct syntax exactly. Others have wrong punctuation or order.
  3. Final Answer:

    int result = (x > 0) ? 1 : -1; -> Option D
  4. Quick Check:

    condition ? trueValue : falseValue syntax [OK]
Hint: Remember: question mark then colon separate values [OK]
Common Mistakes:
  • Using comma instead of colon
  • Swapping question mark and colon
  • Adding extra parentheses incorrectly
3. What is the output of this Java code?
int a = 5;
int b = 10;
int max = (a > b) ? a : b;
System.out.println(max);
medium
A. 10
B. false
C. true
D. 5

Solution

  1. Step 1: Evaluate the condition (a > b)

    Since a=5 and b=10, 5 > 10 is false.
  2. Step 2: Apply ternary operator

    Because condition is false, max gets value b, which is 10.
  3. Final Answer:

    10 -> Option A
  4. Quick Check:

    (5 > 10) ? 5 : 10 = 10 [OK]
Hint: Check condition result true or false to pick value [OK]
Common Mistakes:
  • Choosing the first value always
  • Confusing variable values
  • Expecting boolean output
4. Identify the error in this code snippet:
int x = 10;
int y = 20;
int min = x > y ? x, y;
System.out.println(min);
medium
A. Missing colon ':' in ternary operator
B. Incorrect variable declaration
C. Using comma instead of semicolon
D. No error, code runs fine

Solution

  1. Step 1: Check ternary operator syntax

    The ternary operator requires a colon ':' between true and false values.
  2. Step 2: Identify the error in code

    The code uses a comma ',' instead of a colon ':', causing a syntax error.
  3. Final Answer:

    Missing colon ':' in ternary operator -> Option A
  4. Quick Check:

    condition ? valueIfTrue : valueIfFalse needs ':' [OK]
Hint: Ternary needs '?' then ':'; commas cause errors [OK]
Common Mistakes:
  • Using comma instead of colon
  • Forgetting colon entirely
  • Misplacing semicolons inside ternary
5. Given this code, what is the value of result?
int score = 75;
String result = (score >= 90) ? "A" : (score >= 80) ? "B" : (score >= 70) ? "C" : "F";
System.out.println(result);
hard
A. "A"
B. "B"
C. "C"
D. "F"

Solution

  1. Step 1: Evaluate nested ternary conditions in order

    score=75. Check if score >= 90? No. Then check if score >= 80? No. Then check if score >= 70? Yes.
  2. Step 2: Assign value based on first true condition

    Since score >= 70 is true, result is assigned "C".
  3. Final Answer:

    "C" -> Option C
  4. Quick Check:

    Nested ternary picks first true condition value [OK]
Hint: Read nested ternary top to bottom, pick first true [OK]
Common Mistakes:
  • Stopping at first false condition
  • Ignoring nested ternary order
  • Confusing string quotes
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