카테고리 없음

[JAVA] 연산자

mejii 2024. 3. 8. 20:23

-대입 연산자: 우측의 데이터를 좌측의 변수에 대입

ex. int a = 100;

 

-산술 연산자: +, -, *, / ,%

%는 나머지를 의미한다.

ex. 10%3 은 1 이다.

 

-증가/감소 연산자: ++ , --

++ 은 값을 1만큼 늘리는거고 --는 1만큼 줄이는 것이다.

++ 은 +1, --는 -1이다.

ex. num++ 은 바로 값을 num + 1 으로 출력하고

++num 은 다음의 출력 값을 num + 1으로 출력한다.

 

-관계 연산자: >, <, <=, >=, ==, !=

=이 들어가면 항상 오른쪽에 두기!

!=은 다르다는 것을 의미한다.

ex.5!= 3 의 결과값은 false이다.

 

-논리 연산자: &&, ||

&& 은 and,

|| 은 or을 의미한다.

ex.(10>9) &&(1 ==0) 의 결과는 false이다.(왼쪽이 false이기 때문이다.)

 

-복합 대입 연산자: 대입 연산자와 다른 연산자를 조합한 연산

ex. num1 -= num2  ...> num1 = num1 - num2

 


2진법: 컴퓨터에서 데이터 표현에 사용(0과 1 만을 이용)

2를 기반으로 하는 숫자체계

ex. 

10진법 0 1 2 3 4 5
2진법 0 1 10 11 100 101

 

*참고*

 

10진수를 2진수로 바꾸는 방법:

_ _ _ _ (4비트로 가정) 2^3  2^2  2^1  2^0 -> 8 4 2 1  

만약 10진수 3을 2진수로 바꾼다?  각 자리 숫자합을 3으로 맞출 수 있는 숫자를 선택.

3은 0 0 1 1 2와 1을 선택했기에 그 자리에 1을 배당, 8과 4는 선택하지 않았기에 0을 배당!

 

-2의 보수:

2의 제곱수에서 빼서 얻은 이진수

ex. 2진수 3의 2의 보수 : 2진수 3 -> 11

그 보수는 01이다.

 

*2의 보수 구하기*

2진수를 반전시켜준다. ex. 101 -> 010

반전시킨 수에 1을 더한다.(자리올림) ex. 010에 111을 더하면 1011이지만 3비트 기준에서 천의 자리 1은 무시하기에 011이 보수가 된다!

 

 

비트연산자:

 

비트 단위로 연산.

 

-비트 논리 연산자(&,|, ^, ~)

 

-AND 연산자(&):

두 개의 비트 값이 모두 1인 경우에만 결과 1

 

-OR 연산자(|):

두 개의 비트 값 중 하나라도 1이면 결과 1

 

-XOR 연산자(^):

두 개의 비트 값이 같으면 0, 다르면 1

 

-반전 연산자(~):

비트 값이 0이면 1로, 1이면 0으로 반전

 

-비트 이동 연산자(<<,>>,>>>):

-<< 연산자:

비트를 왼쪽으로 이동

ex. 3 << 1

  bit1 bit2 bit3 bit4
3 0 0 1 1
결과 0 1 1 0

 

- >> 연산자:

비트를 오른쪽으로 이동

 

- >>> 연산자:

비트를 오른쪽으로 이동(부호비트 상관 없이 0으로 채움)