반응형

조건 연산자 ? :

  • 조건식의 결과에 따라 연산결과를 달리한다.

조건 연산자는 유일한 삼항연산자이다. 즉, 피연산자가 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