[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