조건 연산자, 대입 연산자
조건 연산자 ? :
- 조건식의 결과에 따라 연산결과를 달리한다.
조건 연산자는 유일한 삼항연산자이다. 즉, 피연산자가 3개 라는 이야기이다.
위의 그림에서는 조건 연산자의 피연산자는 1. 조건식, 2. 식1, 3. 식2 이다.
조건식은 참 또는 거짓을 반환하는 식이고, 참이면 식1이 결과가 되고, 조건식이 거짓이면 식2가 결과가 된다.
result = (x > y) ? x : y ; // 괄호 생략 가능
조건식은 (x > y)
식1은 x
식2는 y
만약에 조건식이 참이면 아래와 같은 프로세스가 진행된다.
x가 result에 대입된다.
그리고 만약에 조건식이 거짓이면,
y가 변수 result에 대입된다.
예를 들어서 x가 5고 y가 3이라고 가정해보자.
이 삼항연산자는 아래와 같이 if문을 간단히 쓸 수 있도록 하기위해 고안된 것이다
if문을 쓰면 길고 복잡한 코드를, 삼항 연산자를 이용하면 간단히 작성할 수 있다.
간단한 if문은 삼항 연산자로 쓰는게 좋다.
대입 연산자
- 오른쪽 피연산자를 왼쪽 피연산자에 저장 후 저장된 값을 반환
System.out.println(x = 3); // 변수 x에 3이 저장되고
System.out.println(3); // 연산 결과인 3이 출력된다.
오른쪽 피연산자 값을 왼쪽 피연산자에 저장 된다.
그리고 전에 배은 것 처럼 "모든 연산자는 결과값을 반환"
대입 연산자의 반환 값은 저장된 값이다.
그리고 연산 진행 순서는 오른쪽에서 왼쪽이다. (단항 연산자와 대입 연산자)
- lvalue - 대입 연산자의 왼쪽 피연산자
- rvalue - 대입 연산자의 오른쪽 피연산자
대입 연산자의 왼쪽 피연산자인 lvalue는 저장공간 이기 때문에 반드시 변수 또는 배열 같은 저장 공간이어야 한다.
3은 lvalue가 값을 저장할 수 있는 공간이 아니다.
변수앞에 final을 붙이면 값을 한번 저장하면 변경할 수 없는 상수가 된다.
상수에는 새로운 값을 저장할 수 없다.
복합 대입 연산자
- 대입 연산자와 다른 연산자를 하나로 축약
i = i + 3; 과 i +=3; 은 동일하다 다른 연산자에도 동일하게 적용된다.
다만, 맨 마지막줄 처럼 피연산자가 2개인 경우, 곱하기의 경우 괄호가 중요하므로 그부분만 조심하면 된다.
괄호를 꼭 치라는 것이 아니라,
왼쪽과 오른쪽의 의미를 잘 생각해서 변형하면 된다.
'JAVA' 카테고리의 다른 글
if-else문, 중첩 if문 (0) | 2022.03.18 |
---|---|
조건문 if문과 if-else문 (0) | 2022.03.17 |
논리 연산자, 논리 부정 연산자 (0) | 2022.03.16 |
비교 연산자, 문자열의 비교 (0) | 2022.03.16 |
반올림 Math.round(), 나머지 연산자 (0) | 2022.03.16 |
댓글
이 글 공유하기
다른 글
-
if-else문, 중첩 if문
if-else문, 중첩 if문
2022.03.18 -
조건문 if문과 if-else문
조건문 if문과 if-else문
2022.03.17 -
논리 연산자, 논리 부정 연산자
논리 연산자, 논리 부정 연산자
2022.03.16 -
비교 연산자, 문자열의 비교
비교 연산자, 문자열의 비교
2022.03.16