본문 바로가기

개발/Java

[Java] 연산자

연산자

1. 산술 연산자 

  +, -, *, /, %(나머지 연산), >>, <<

 

2. 비교연산자 

  >, <, >=, <=, ==, !=

 

3. 논리연산자 

  &&, ||, !

 

4. 대입연산자

  =, ++, --, +=, -=

 

5. 기타연산자

  형변환 연산자(type), 삼항 연산자 (조건? 참:거짓 ), instance of

 

 

대입연산자 주의할 점 !

++, —가 앞에 있으면 먼저 증감 한 후, 연산을 함.

++,—가 뒤에 있으면 먼저 연산을 한 후, 증감을 한 값을 저장함.

int a = 10;
int b = 10;
int val = ++a + b--; //11+9 =20일 줄 알았는데...
System.out.println(val); //21
System.out.println(a); //11
System.out.println(b); //9

 

 

삼항 연산자 예시
int x = 1;
int y = 10;

String s = (x!=y) ? "정답" : "오답";
System.out.println(s); //정답

// 삼항 연산자로 최소/ 최대 구하기
int max = (x>y) ? x:y;
int min = (x<y) ? x:y;

 

 

instance of

피연산자가 조건에 명시된 클래스의 객체인지 비교하여 맞으면 true 틀리면 false

 

 

비트 연산 (= Bit의 자리수를 옮기는 것)

Byte를 8등분한게 Bit ( 1Byte = 8bit )

Bit는 0,1 둘 중의 하나의 값만을 저장하는 컴퓨터가 저장(표현)가능한 가장 작은 단위

컴퓨터의 가장작은 단위인 Bit이기 때문에 연산 중에서 Bit 연산이 제일 빠름

‘<<’ (왼쪽으로 자리수 옮기기) (=2로 곱함) , ‘>>’ (오른쪽으로 자리수 옮기기) (=2로 나눔)

 

예시 : 3<<2

11(2), 3(10) 를 2번 왼쪽이동

결과 → 1100(2), 12(10)

()안은 진수 표현

 

 

비교 메서드

두 개의 값을 비교하는 메서드 → Objects.equals(좌,우)

좌 우가 같은 경우 true, 다른 경우 false