005-005-007

Pass/Fail Judgment with Conditional Operator

Easy

Problem Description

Conditional (Ternary) operator: Inline Decision Making

The conditional operator is Java's only ternary operator, providing a concise way to express simple if-else logic in a single expression. It's ideal for value selection, default assignments, and inline formatting.

Let's learn how to use the ternary operator together!

Learning Points

  • Syntax: condition ? trueValue : falseValue
  • Expression: Returns a value (unlike if statement)
  • Type Consistency: Both branches must be compatible types
  • Readability: Best for simple, single-value decisions

Ternary vs If-Else

Ternary OperatorIf-Else Statement
String result = score >= 60 ? "Pass" : "Fail";
String result;
if (score >= 60) {
    result = "Pass";
} else {
    result = "Fail";
}

Common Mistakes

Don't worry about mistakes. Review your code and try again.

Mistake 1: Nesting Ternary Operators

Hard to read:

String grade = score >= 90 ? "A" : score >= 80 ? "B" : score >= 70 ? "C" : "F";
// Confusing - avoid nested ternaries!

Better approach:

String grade;
if (score >= 90) grade = "A";
else if (score >= 80) grade = "B";
else if (score >= 70) grade = "C";
else grade = "F";

Mistake 2: Type Mismatch

Incorrect code:

// int or String? Compiler error!
Object result = condition ? 42 : "error";

Correct code:

String result = condition ? String.valueOf(42) : "error";

Mistake 3: Side Effects in Ternary

Poor practice:

// Side effects make code hard to understand
int x = (count++ > 5) ? doA() : doB();

Appropriate Use Cases

  • variable initialization: int max = a > b ? a : b;
  • Default values: String name = input != null ? input : "Unknown";
  • method arguments: print(value >= 0 ? value : 0);
  • String formatting: "Status: " + (active ? "On" : "Off")

When NOT to Use

  • Complex multi-branch logic (use if-else-if)
  • When actions have side effects (use if statements)
  • When readability suffers (clarity over brevity)

Prerequisites

Let's review the knowledge needed to solve this problem.

Basic Concepts

Understanding the fundamental programming concepts covered in this problem is the first step toward a correct solution. Grasp how each element of the code works together.

Implementation Approach

Here is a step-by-step thinking process for solving this problem:

  1. Read the problem statement and understand the relationship between input and output
  2. Identify the required variables and data structures
  3. Build the processing flow
  4. Verify behavior with test cases

Learning Objectives

  • Classify ternary operator to write concise conditional branches
  • Identify truth values of conditional expressions to select appropriate values
  • Explain nested ternary operators to handle multiple conditions

Ready to Try Running Code?

Log in to access the code editor and execute your solutions for this problem.

Don't have an account?