+
: 더하기
-
: 빼기
*
: 곱하기
/
: 나누기
%
: 나머지
예시
int num1, num2
num1 = 7;
num2 = 2;
int result;
result = num1 + num2;
System.out.println(num1 + " + " + num2 + " = " + result);
result = num1 - num2;
System.out.println(num1 + " + " + num2 + " = " + result);
result = num1 * num2;
System.out.println(num1 + " * " + num2 + " = " + result);
result = num1 / num2;
System.out.println(num1 + " + " + num2 + " = " + result);
result = num1 % num2;
System.out.println(num1 + " + " + num2 + " = " + result);
// console
/*
7 + 2 = 9
7 - 2 = 5
7 * 2 = 14
7 / 2 = 3
7 % 2 = 1
*/
++
: 증가연산자 ( increment )
--
: 감소연산자 ( decrement )
- 전위형(prefix) : 값이 참조되기 전에 증가
- 후위형(postfix) : 값이 참조된 후에 증가
예시
int num1, num2;
num1 = 0;
num2 = 3;
num1++;
num2--;
System.out.println("num1: " + num1);
System.out.println("num2: " + num2);
int num3, num4;
num4 = 0;
num3 = num4++; // 후위형
System.out.println("num3: " + num3);
num4 = 0;
num3 = ++num4; // 전위형
System.out.println("num3: " + num3);
//console
/*
num1: 1;
num2: 2;
num3: 0;
num3: 1;
*/
<
>
<=
>=
: 대소비교 연산자
==
!=
: 등가비교 연산자
예시
int num5 = 5;
System.out.println(num5 > 0);
System.out.println(num5 == 5);
System.out.println(num5 != 0);
// console
/*
true
true
true
*/
&&
: and
||
: or
!
: not
예시
int num6 = 5;
System.out.println(num6 > 0 && num6 < 10);
System.out.println(num6 > 0 || num6 < 10);
System.out.println(!(num6 < 10)); // num6 >= 10
// console
/*
true
true
false
*/
&
: AND , 피연산자 양 쪽이 모두 1이어야만 1을 결과로 얻는다
|
: OR , 피연산자 중 한 쪽의 값이 1이면, 1을 결과로 얻는다
^
: XOR , 피연산자의 값이 서로 다를 때만 1을 결과로 얻는다
~
: NOT , 반전
<<
: left shift , 왼쪽으로 미는 것
>>
: right shift , 오른쪽으로 미는 것
예시
// AND
int number = 0x71 & 0x8a; // 0111 0001 & 1000 1010 -> 0000 0000
System.out.println(number);
// OR
int number1 = 0x71 | 0x8a; // 0111 0001 | 1000 1010 -> 1111 1011
System.out.println(number1);
// XOR -> 보안
int number2 = 0x71 ^ 0x85; // 0111 0001 ^ 1000 0101 -> 1111 0100
System.out.println(number2);
System.out.printf("0x%x\n", number2);
int number3 = 0xf4 ^ 0x85; // 1111 0100 ^ 1000 0101 -> 0111 0001
System.out.println(number3);
System.out.printf("0x%x\n", number3);
// left shift == *2
short sh;
sh = 0x1 << 3; // 0001 << 3 -> 1000
System.out.println(sh);
// right shift == /2
sh = 0x8 >> 1; // 1000 >> 1 -> 0100
System.out.println(sh);
// ~ 반전
byte by = ~0x55; // ~0101 0101 -> 1010 1010
System.out.printf("0x%x\n", by);
//console
/*
0
251
244
0xf4
113
0x71
8
4
0xaa
*/