본문 바로가기

old/Programming

자바의 물음표 연산자(?:)란

반응형

정의

물음표 연산자(? :)는 조건 연산자로서, 조건식의 평가 결과에 따라 두 개의 표현식 중 하나를 선택하는 것입니다. if문과 같은 결과를 낼수 있습니다.

구조

if(Condition){
 result = expression1;
}else{
 result = expression2;
}

---- 

result = Condition ? expression1: expression2;

if문과 똑같습니다.

사용을 고려해야 하는 경우

물음표 연산자를 사용할 때는 다음 사항을 고려해야 합니다:

장점

  • 코드의 간결성: 조건에 따라 값이 선택되는 로직을 한 줄로 표현할 수 있어 코드의 가독성과 간결성을 높입니다.
  • 표현식의 재사용성: 선택되는 표현식은 변수에 할당되거나 다른 표현식의 일부로 사용될 수 있으므로 재사용성이 높아집니다.

단점

  • 복잡한 조건 로직의 가독성: 물음표 연산자는 간단한 조건 로직에 적합하지만, 복잡한 조건식을 다루기에는 가독성이 떨어질 수 있습니다. 이 경우에는 if-else 문을 사용하는 것이 더 적절할 수 있습니다.

사용법 step-by-step

  1. 조건식을 작성합니다. 조건식은 평가 결과가 참 또는 거짓인 불리언(boolean) 값을 가져야 합니다.
  2. 조건식 뒤에 물음표(?)를 입력합니다.
  3. 참인 경우 선택될 표현식을 작성하고, 콜론(:)을 입력합니다.
  4. 거짓인 경우 선택될 표현식을 작성합니다.
  5. 물음표 연산자를 사용한 결과는 선택된 표현식의 값이 됩니다.

예제

int age = 18;
String message = (age >= 18) ? "성인입니다." : "미성년자입니다.";

System.out.println(message); // 출력: "성인입니다."

위의 예제에서 age 변수의 값이 18 이상이므로

조건식 (age >= 18)은 참이 됩니다. 따라서 expression1인 "성인입니다."가 선택되어 message 변수에 할당됩니다.

반응형