[JAVA]삼항연산자(조건연산자)
@욕심쟁이
·2020. 7. 29. 17:30
반응형
삼항연산자(조건연산자)
- 피연산자(항)가 3인 연산자
- ? 앞의 조건식에 따라 : 앞 뒤의 문장을 선택하는 연산자
- 뒤에 나올 if ~ else문의 역할과 동일한 작업을 수행
<기본문법>
조건식 ? 값1 : 값2;
- 조건식은 연산결과가 true 또는 false인식만 올 수 있다! (조건식결과가 false이면 값2를 선택)
- 삼항연산자 여산결과를 변수에 대입하거나, 출력문 등에 결합하여사용 할 수 있음
int num = 10;
System.out.println(num >= 10 ? "num이 10이상이다" : "num이 10이상이아니다" ); //num이 10이상이다
//=> num이 10이상일때(true)일때 "num 이 10이상이다" 문장을 선택하여 출력문에 사용하므로
// "num이 10이상이다" 문장이 출력되고, num이 10이상이 아닐(false)일때
//"num 이 10이상이 아니다" 문장을 선택하여 출력문에 사용하므로
//"num이 10이상이 아니다" 문장이 출력됨
String result = num >=10 ? "10이상이다!" : "10이상이아니다!";
System.out.println(result); //10이상이다!
System.out.println("==================");
num = 20;
System.out.println("num이 10보다 큰가?" + (num >=10 )); //true
// num이 10보다 크면 정수형 변수 result2의 값에 1을 더하고 아니면,
//정수형 변수 result2의 값에 10을 더하기
int result2 = 0;
//result2 = result2 + 1;
//result2 = num >=10 ? result2 +1 : result2 + 10;
result2 += num >=10 ? 1 : 10;
// true와 false일떄 선택할 문장 부분에 연산식이 올수도 있으나 해당식을 사용하여 값을 할당하는 문장에 사용해야함
System.out.println(result2); //3
삼항연산자의 중첩 사용
- 기본 삼항연산자는 두가지 경우의 수를 판별할수 있으나 세가지 경우 이상은 판별이 불가능 하다
=> 이때, 삼항연산자를 중첩해서 사용하면 두가지 이상의 경우의수를 판별 할 수 있다.
<기본문법>
조건식 1? 값1 : 조건식2 ? 값2: 값3
=> 조건식 1의 결과가 true이면 값1을 선택하고 아니면, 다시 조건식2를 판별하여
조건식2의 결과가 true이면 값2를 선택하고 아니면 값3을 선택
num = 10;
//result = num > 10 ? "10보다 크다!" : "10보다 크지않다!"; //10보다 크다!
// 10보다 클때, 10보다 작을때,10일때 3가지 경우 판변
result = num > 10 ? "10보다 크다!" : num < 10 ? "10보다 작다!" : "10이다!" ; // 10이다
System.out.println(result);
반응형
'IT > JAVA' 카테고리의 다른 글
[JAVA]메서드(Method)란? (0) | 2020.08.11 |
---|---|
[JAVA] 향상된 for문 (0) | 2020.08.07 |
[JAVA] 다차원 배열 (0) | 2020.08.07 |
[JAVA] 비교(관계)연산자2 (0) | 2020.07.29 |
[JAVA] 비교(관계)연산자 (0) | 2020.07.29 |