EEALL@ONCE
☕ 자바 자료형 - 삼항 연산자 (boolean형) 본문
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
);
}
}
- mult2와 plus5 모두 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가 출력됩니다.
- 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가 출력됩니다.
- 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가 출력됩니다.
- mult2와 plus5 모두 false일 때 (mult2 = false and plus5 = false):
- 결과: num이 출력됩니다. num이 3이므로 3이 출력됩니다.
- 이 경우, 첫 번째 조건식 (!mult2 && !plus5)의 결과는 true && true이므로 true가 됩니다. 첫 번째 조건식의 결과가 true이므로 나머지 조건식들은 평가되지 않고, 바로 num의 값인 3이 출력됩니다.
728x90
'언어💻 > 자바☕' 카테고리의 다른 글
☕ String constant pool (0) | 2023.08.01 |
---|---|
☕ 자바 자료형 - String : 문자열 자료형 (1 ) : 리터럴 방식 / 인스턴스 방식 (0) | 2023.08.01 |
☕ 자바 자료형 - 단축평가 short circuit (0) | 2023.08.01 |
☕ 자바 자료형 - boolean 형 : (참/거짓)형 (0) | 2023.08.01 |
☕ 자바 자료형 - char 문자형 (0) | 2023.08.01 |