Ch3-17~19. 조건 연산자
0. 목차
Chapter3. 연산자
Ch3 - 17. 조건 연산자 ? :
Ch3 - 18. 대입 연산자 =
Ch3 - 19. 복합 대입 연산자 +=
Ch3 - 17. 조건 연산자 ? :
▶ 조건 연산자란?
▷ 피연산자가 3개
▷ 조건식의 결과에 따라 연산결과를 달리함
- 조건식 결과 = true 일 때
int x = 5, y = 3; boolean b = x > y; int result = (x > y) ? x : y; System.out.println(b); System.out.println(result); // console true 5 // 조건식이 true일 때, 결과값은 x
- 조건식 결과 = false 일 때
int x = 3, y = 5; boolean b = x > y; int result = (x > y) ? x : y; System.out.println(b); System.out.println(result); // console false 5 // 조건식이 flase일 때, 결과값은 y
result = (x > y) ? x : y;
→ if문으로 작성하면?
if (x > y) result = x; else { result = y; } // if문은 길다
간단한 if문은 삼항 연산자로!
Ch3 - 18. 대입 연산자 =
▶ 대입 연산자란?
▷ 오른쪽 피연산자를 왼쪽 피연산자에 저장 후 저장된 값을 반환
▷ 모든 연산자는 결과값을 반환
▷ 연산방향 : ←
▶ lvalue와 rvalue
▷ lvalue : 대입 연산자의 왼쪽 피연산자
-
lvalue는 저장공간
변수, 배열… 저장공간만 lvalue가 될 수 있음 -
lvalue가 저장공간이 아닐 시 에러발생
상수, 정수… 저장공간이 아닌 lvalue는 모두 에러int i = 0; 3 = i + 3; // 에러, 3 ≠ 저장공간 i + 3 = i; // 에러, i + 3 = 0 + 3 = 3 ≠ 저장공간 final int MAX = 3; // 변수 앞 final = 상수 ≠ 저장공간 MAX = 10; // 에러, MAX = 상수 ≠ 저장공간
▷ rvalue : 대입 연산자의 오른쪽 피연산자
Ch3 - 18. 복합 대입 연산자 +=
▶ 복합 대입 연산자란?
▷ 대입 연산자와 다른 연산자를 하나로 축약
▶ 예시
▷ i += 3;
i = i + 3;
▷ i -= 3;
i = i - 3;
▷ i *= 3;
i = i * 3;
▷ i /= 3;
i = i / 3;
▷ i %= 3;
i = i % 3;
▷ i «= 3;
i = i << 3;
▷ i »= 3;
i = i >> 3;
▷ i &= 3;
i = i & 3;
▷ i ^= 3;
i = i ^ 3;
▷ i |= 3;
i = i | 3;
▷ i *= 10 + 3;
- 피연산자가 2개인 경우 괄호 쳐 주기!
i = i * (10 + 3);