본문 바로가기

JAVA

[JAVA] 기초문법 - 자바의 여러 가지 연산자 (2)

복합 대입 연산자

대입 연산자와 다른 연산자를 함께 사용함

프로그램에서 자주 사용하는 연산자

+=:두 항의 값을 더해서 왼쪽 항에 대입

num1+=2; // num1=num1+2 와 같음

-=:두 항의 값을 빼서 왼쪽 항에 대입

num1-=2; // num1=num1-2 와 같음

*=:두 항의 값을 곱해서 왼쪽 항에 대입

num1-=2; // num1=num1*2 와 같음

/=:왼쪽 항 나누기 오른쪽항의 몫을 왼쪽 항에 대입

num1/=2; // num1=num1/2 와 같음

%=:왼쪽 항을 오른쪽 항으로 나누어 나머지를 왼쪽 항에 대입.

num1%=2; // num1=num1%2 와 같음

삼항 조건 연산자

조건식의 결과가 true인 경우 false인 경우에 다르게 수행

조건식? 결과1:결과2;

조건에 결과가 참이면 결과1 아니면 결과2

int num=(5>3)?10:20;//5>3가 true이면 10아니면 20을 대입

비트 연산자

~: 비트의 반전(1의 보수) ex) a=~a;

&:비트 단위 AND ex) 1&1만 1 반환 나머지는 0

ㅣ:비트 단위 OR ex) 0l0만 0반환 그 외는 1

^:비트 단위 XOR ex)두개의 비트가 서로 다른 경우에 1 반환

<<:왼쪽 shift ex)a<<2 a를 2비트 만큼 왼쪽으로 이동, 채워지는 비트는 0, 한비트 옆으로 이동하면 x2에 효과 <<2하면 x4에 효과

>>:오른쪽 shift ex)a>>2 a를 2비트만큼 오른쪽으로 이동, 채워지는 비트는 부호비트(MSB)로 채워짐, 한 비트 이동하면 /2에 효과

>>>:오른쪽 shift ex)>>과 동일한 연산 단, 채워지는 비트가 부호와 상관 없이 0

비트 연산자는 정수에만 사용할 수 있다.