[JAVA] 연산자
-대입 연산자: 우측의 데이터를 좌측의 변수에 대입
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으로 채움)