사칙연산과 나머지 연산
+, -, *, /, %
값을 변수에 전달
=, +=, -=, *=, /=, %=
피연산자를 1씩 증가 또는 감소시킴
++
--
int n1 = 0;
n1 += 1 // n1 = 1
n1++; // n1 = 2
++n1; // n1 = 3
// 연산 순서 주의!
int n2 = n1++; // 대입 n2 = n1 == 3 -> 증가 n1 = 4
int n3 = ++n1; // 증가 후 대입 n3 = 1 + n1 == 5
값을 비교하여 논리값을 반환
==, !=, <, >, <=, >=
논리값(true/false)을 조건 연산
&&
||
!
조건 연산의 결과에 따라 참값 또는 거짓값을 반환
(조건식) ? 참값 : 거짓값
String s = (n1 < 5) ? "5보다 작음" : "5보다 크거나 같음";
두 피연산자를 비트 단위로 논리 연산
&
-> 1 & 1일때만 1|
-> 0 | 0 일때만 0^
-> 1 ^ 0 일때만 1~
x | y | ⇨ | x & y | x | y | x ^ y | ~ x |
---|---|---|---|---|---|---|
0 | 1 | 0 | 1 | 1 | 1 | |
1 | 1 | 1 | 1 | 0 | 0 | |
0 | 1 | 0 | 1 | 1 | 1 | |
1 | 0 | 0 | 1 | 1 | 0 | |
5(10) | 14(10) | 4(10) | 15(10) | 11(10) | 10(10) |
int n = 0x5 & 0xe; // 16진수
System.out.println(n); // 10진수
System.out.printf("0x%x \n", n); // 16진수
피연산자를 비트 단위로 왼쪽 또는 오른쪽으로 이동
<<
>>
피연산자 | 0 | 0 | 1 | 1 | = | 3(10) |
---|---|---|---|---|---|---|
<< 1 | 0 | 1 | 1 | 0 | 6(10) | |
>> 1 | 0 | 0 | 0 | 1 | 1(10) |
<< 1 은 10진수에 곱하기 21 한 것과 같고,
>> 1 은 10진수에 나누기 21 한 것과 같다.