20.03 ~ 20.08 국비교육/JAVA

5. 연산자

찹키리 2020. 3. 21. 19:34

<산술 연산자>

 

+

-

*

/

%

 

★암기: 자바에서는 정수/정수 = 정수, 실수/정수 = 실수(큰 쪽으로 움직이니까)

 

 

 

 

<연산 후 대입 연산자(헷갈릴 가능성 높다)>

 

a += b

  ==

a = a + b

 

 

 

 

<증가, 감소 연산자>

 

++ ,-- : 1만큼 증가, 감소하라

앞(전치, 전위 연산자)이냐 뒤(후치, 후위 연산자)냐에 따라 우선순위가 달라짐 -> 후치연산자는 대입연산자보다 우선순위 낮음

 

 

 

 

<비트(2진수) 연산자(IoT에서 자주 사용함)>

 

10진수 -> 2진수

 

a = 2; ->10

b = 5; ->101

 

1) a & b: 둘다 참(1)일 때 참 = 0

2) a | b: 둘 중 하나만 참(1)이면 참 = 7

3) a ^ b: XOR, 배타적 합, 서로 다를 때 참(머신러닝할 때 나옴)

a << b: 시프트 연산자, 이동연산자, a를 2진수로 바꾸어서 화살표 방향으로 b만큼 이동

        편의상 a = 2, b = 2, 10 -> 1000 = 8

a >> b: 0 남는 값 없음

 

 

 

 

<삼항연산자>

 

a = ( 조건: t/f )? 값1(참) : 값2(거짓);

제어문이 아닌 연산자를 이용해 참거짓 '간단'하게 판별할 수 있다.

 

 

 

 

<연산자의 우선순위>

 

1) . [] ()

 

2) 단항(++ --: 전치만 ~ !), (cast연산자) 

 

3) 산술(+ - * / %)

 

4) 시프트 연산자 >> << >>>

 

5) 관계 연산자(< > <= >= == !=)

 

6) 비트 연산자(& | ^)

 

7) 논리 연산자(&& ||)

 

8) 삼항 연산자

 

9) 대입 연산자(= += -= ...)

 

10) 후치 증감 연산자(a++ a--...)

 

11) 순차 연산자(,)