본문 바로가기
Java

[Java] 연산자; 증감연산자 자세히 알기(전위연산,후위연산,대량연산)

by 나는 개발자 2020. 12. 21.

TIL: 스스로 이해한 것을 바탕으로 정리하였기에 오류가 있을 수 있습니다. 틀린 부분은 댓글로 알려주시면 감사하겠습니다. 

 

 

연산자

 

코딩에는 다양한 연산자들이 있다. 그리고 연산자마다 우선순위도 정해져 있다.

출처: 강사님

 

 

단항 연산자: 항이 하나만 있는 연산자 

쉬프트 연산자: 비트 값 관련

비교 연산자: 대수 비교/참 거짓

삼항 연산자: ?와 : 의 기준으로 해서 항이 3개가 존재하는 연산자

논리 부정 연산자 (!) : (단항 연산자)

                          !논리값 => 논리값

                          논리값 (true/false)을 반대로 바꿔주는 연산자 NOT 역할

산술 연산자 : + - /(나누기의 몫:같은 자료형으로 나옴 ex. 10/3=3) %(나누기의 나머지)

 

 

 

 

 

**증감 연산자 : 증가도 하고 감소도 하는 연산자 (증: 증가하다 감: 감소하다)

 

증감 연산자는 크게 증가시키는 연산자와 감소시키는 연산자로,

자세하게 들여다보면 전위 증가, 후위 증가, 전위 감소, 그리고 후위 감소로 크게 네 가지로 나눌 수 있다.

 

 

++ : 값을 1 증가시키는 연산자 

--   : 값을 1 감소시키는 연산자 

 

(증감 연산자) 값: 선 증감 후 처리

값(증감 연산자): 선 처리 후 증감

 

전위와 후위 부분을 이해하는 데에 꽤나 오랜 시간이 걸렸으나, 예시 코드를 쳐보면서 정확하게 알 수 있었다.

 

 

 

 

 

 

 

전위 연산 예시)

 

int a = 10 ; 

int b = ++a ; 

 

System.out.println("a : " + a + " b : " + b);

=> console: 작동시켜보면 a: 11 b: 11 임을 알 수 있다.

그 이유는 b는 이미 a에서 1을 증가한 수이며, a는 두 번째 줄에서 전위 증가를 해주었기에 11로 업데이트되었다고 보면 된다.

 

후위 연산 예시)

 

int a = 10 ;

int b = a++ ; 

 

System.out.println("a : " + a + " b : " + b);

=> console: a: 11 b: 10이다. 

이유는  b 뒤에 붙은 후위 연산이 b에는 적용시키지 않기 때문이다.

 

 

전위와 후위연산 예시)

 

예시)

 

예시)

 

 

앞에 보여준 ++, -- 의 증감 연산자들은 1씩 증가, 감소하여 대량 증감은 해줄 수 없다.

이때 사용하는 연산자가 복합 대입 연산자이다.

 

복합 대입 연산자: 산술 연산자와 대입 연산자를 함께 사용하는 연산자, 연산처리속도가 빨라진다.

 

+=      -=     *=       /=      %=      등이 존재한다.

 

 

예시)

 

 

 

댓글