[JAVA] 연산자(operator)

seonjeong·2022년 12월 21일
0

Java

목록 보기
3/26
post-thumbnail

🔥 산술연산자

+ : 더하기
- : 빼기
* : 곱하기
/ : 나누기
% : 나머지

예시

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
*/
profile
🦋개발 공부 기록🦋

0개의 댓글

관련 채용 정보