EEALL@ONCE

☕ 자바 자료형 - 삼항 연산자 (boolean형) 본문

언어💻/자바☕

☕ 자바 자료형 - 삼항 연산자 (boolean형)

올엣원스 2023. 8. 1. 15:54
728x90

삼항 연산자란?  

a ? b : c 

a : a가 true야 false 야? 
b : a가 true 야? 그럼 b를 반환해
c: a가 false 야?  그럼 c를 반환해

 

public class Main {
    public static void main(String[] args) {
        int num = 3;
        boolean mult2 = true;
        boolean plus5 = true;

        System.out.println(
                (!mult2 && !plus5) ? num
                : (mult2 && plus5) ? num * 2 + 5
                : mult2 ? num * 2
                : num + 5
        );
    }
}
  1.  mult2plus5 모두 true일 때 (mult2 = true and plus5 = true):
    • 결과: num * 2 + 5가 력됩니다. num이 3이므로 num * 2 + 5는 11이 출력됩니다.
    • 이 경우, 첫 번째 조건식 (!mult2 && !plus5)의 결과는 false && false이므로 false가 됩니다. 두 번째 조건식 (mult2 && plus5)의 결과는 true && true이므로 true가 됩니다. 따라서, num * 2 + 5가 출력됩니다.
  2. mult2가 true이고, plus5가 false일 때 (mult2 = true and plus5 = false):
    • 결과: num * 2가 출력됩니다. num이 3이므로 num * 2는 6이 출력됩니다.
    • 이 경우, 첫 번째 조건식 (!mult2 && !plus5)의 결과는 false && true이므로 false가 됩니다. 두 번째 조건식 (mult2 && plus5)는 평가되지 않으며, 세 번째 조건식 mult2의 결과는 true가 됩니다. 따라서, num * 2가 출력됩니다.
  3. mult2가 false이고, plus5가 true일 때 (mult2 = false and plus5 = true):
    • 결과: num + 5가 출력됩니다. num이 3이므로 num + 5는 8이 출력됩니다.
    • 이 경우, 첫 번째 조건식 (!mult2 && !plus5)의 결과는 true && false이므로 false가 됩니다. 두 번째 조건식 (mult2 && plus5)는 평가되지 않으며, 네 번째 조건식 num + 5의 결과는 num + 5가 됩니다. 따라서, num + 5가 출력됩니다.
  4. mult2와 plus5 모두 false일 때 (mult2 = false and plus5 = false):
    • 결과: num이 출력됩니다. num이 3이므로 3이 출력됩니다.
    • 이 경우, 첫 번째 조건식 (!mult2 && !plus5)의 결과는 true && true이므로 true가 됩니다. 첫 번째 조건식의 결과가 true이므로 나머지 조건식들은 평가되지 않고, 바로 num의 값인 3이 출력됩니다.
728x90