[Java] 자바 증감 연산자와 삼항 연산자

jinni·2022년 11월 8일
0

Java

목록 보기
3/5

증감 연산자

코딩을 하다보면, 흔히 만날 수 있는 ++, -- 녀석들에 대해 간단하게 정리하고자 한다. 반복문 for 에서 맨날 만나는 i++ 처럼 말이다.

++x;
x++;
--y;
y--;

얘네들은 단항 연산자라고 피연산자가 1개인 항으로 이루어진 상태다. 피연산자 앞뒤로 붙고 앞에 붙냐, 뒤에 붙냐에 따라 결과가 다르다.

피연산자 앞에 붙는 경우

  • 연산이 수행되기 전에 +, -가 진행된다.

피연산자 뒤에 붙는 경우

  • 연산이 수행된 후 +, -가 진행된다.
int x = 3;
int y = 3;

System.out.println("--------------");
System.out.println(++x); // +1 적용된 상태로 x 출력
System.out.println(y++); // y를 출력한 뒤, +1 적용
System.out.println("--------------");
System.out.println(y);


결과값을 보면, x 앞에 증감 연산자가 붙으니 바로 적용되어 출력되는 것을 알 수 있다. 반면에, y 뒤에 증감 연산자가 붙어 증가하지 않았다. 그런 다음 y를 다시 출력해보니 +1이 되어있다.

쉽게 말해, (++,--)피연산자는 해당 실행문이 실행되기 전에 이미 적용되어 있고, 피연산자(++, --) 이 녀석은 해당 실행문이 실행된 후에 적용된다. 실행되기 전에 증감해줄 지, 후에 증감해줄 지에 따라 위치가 다르다.

for(int i = 0; i < ; i++) {

}

얘도 {} 실행문이 1번 돌아간 후, i가 자동적으로 증가한다.

이게 전부다.

삼항 연산자

삼항연산자는 아래와 같이 이루어져 있다.

조건식(피연산자1) ? 값 or 연산식(피연산자2) : 값 or 연산식(피연산자3)

?를 기준으로 조건식(피연산자1)과 값 or 연산식(피연산자2, 3)을 나눈다. 그 다음 : 을 기준으로 피연산자2, 3을 나눠준다.

: 앞에 있는 피연산자(2)는 참일 때, 선택되고 뒤에 있는 피연산자(3)은 거짓일 때 선택된다. 코드로 쉽게 이해해보자!

int score = 80;
char grade = (score > 95) ? true : false; // 조건식이 참이면 true 선택, 거짓이면 false 선택!

score가 95보다 크면 true, 작다면 false. 이러한 방식이다. grade를 제대로 넣고 적어보면,

int score = 80;
char grade = (score > 95) ? 'A' : 'B';

여기서는 scorescore > 95 라는 조건식에 부합하지 못 하기 때문에 B가 선택된다.

조건식이 붙었으니, if문처럼 사용해도 된다. 그렇지만, 모든 if문을 대체할 수 없다. 간단한 if문을 대체하는 용도로 사용된다. 위의 삼항연산자를 if문으로 작성해보겠다!

int score = 80;
char grade;

if (score > 95) {
	grade = 'A';
} else {
	grade = 'B';
}

모든 if문을 대체할 수 없지만, 잘 사용한다면 자신의 코드를 간결하게 나타낼 수 있다. (다른 여러 연산자도 포함!!!)

profile
조금씩 천천히 꾸준하게

0개의 댓글