Java

[스터디 3주차] 자바 연산자

msmn 2020. 11. 28. 13:47
728x90

목표

자바가 제공하는 다양한 연산자를 학습한다.

 


학습할 것

  • 산술 연산자
  • 비트 연산자
  • 관계 연산자
  • 논리 연산자
  • instanceof
  • assignment(=) operator
  • 화살표(->) 연산자
  • 3항 연산자
  • 연산자 우선순위
  • (optional) Java 13. switch 연산자

 

 

 

https://neul-carpediem.tistory.com/20

 

 


1. 산술 연산자

산술 연산을 할 수 있는 사칙연산(+, -, *, /)과 나머지 연산자(%)들을 말한다.


2. 비트 연산자

데이터를 비트 단위로 연산한다.

기능에 따라 비트 이동 연산자, 비트 논리 연산자로 구분한다.

 

1) 비트 이동 연산자(shift)

 

 

https://coding-factory.tistory.com/521

 

 

 

 

 

https://coding-factory.tistory.com/521

 

 

차이점 :

>>는 좌측의 빈자리를 최상위 부호 비트와 같은 값으로 채우고

>>>는 좌측의 빈자리를 0으로 채운다.(결괏값은 무조건 양수로만 나타나게 됨)

 

2) 비트 논리 연산자

 

 

 

 

XOR은 두 비트가 다른 경우만 1 임을 기억하자.


3. 관계 연산자

비교 연산자라고도 하며 수학에서 배운 부등호와 같다.

반환 값은 true, false 값인 boolean 자료형으로 반환이 된다.

 

 

 

 


4. 논리 연산자

논리 연산자는 AND, OR, NOT 세 가지의 연산자가 있으며, 관계 연산자와 같이 사용되는 경우가 많다.

결과는 역시 boolean 자료형으로 반환된다.

 

 

 

 


5. instanceof

객체 타입을 확인하는 데 사용하며, 형 변환이 가능한지 알려주는 연산자이다.

참조 변수가 instanceof로 형 변환 가능한 타입인지 연산하고 반환 값은 boolean형태이다.

사용 형식은 '객체 + instanceof + 클래스'이다.

 

 

https://improver.tistory.com/140

 

 

세 번째 결과가 false인 이유는 클래스 A가 부모이고 B가 자식인데, 부모가 자식이 되려 했기 때문이다.

 


6. assignment(=) operator

오른쪽의 결과를 왼쪽에 대입하는 연산자이다.

Primitive 변수에 값을 할당하기 위해 사용하거나 Reference의 참조 값을 할당하기 위해 사용한다.


7. 화살표(->) 연산자

메서드를 하나의 식(expression)으로 표현한 것.

기존의 메서드를 람다식(화살표 연산자)으로 표현하면 메서드의 이름과 반환 값이 없어지기 때문에 익명 함수라고도 부른다.

메서드를 하나의 인수로 취급할 수 있어서, 유연한 프로그래밍을 가능하게 해 준다.

람다식은 Java 8 이후 나온 기술이다.

예를 들어 덧셈에 대한 람다식은 

(a, b) -> a + b 

로 나타낼 수 있다.


8. 3항 연산자

조건 연산자의 결과에 따라 다른 결과를 반환한다.

 

 

 

 


9. 연산자 우선순위

 

 

 

 

단항 -> 이항 -> 삼항 연산자 순으로 우선순위를 갖는다.

산술 -> 비교 -> 논리 -> 대입 연산자 순으로 우선순위를 갖는다.

항상 우선순위를 숙지하고 있을 수 없기 때문에 처음부터 명확히 () 괄호를 잘 써주는 것이 제일 중요하다고 생각한다.


10. (optional) Java 13. switch 연산자

자바 12부터 프리뷰로 추가되었다.

기존의 switch문에서의 :(콜론)을 ->(화살표)로 변경하여 사용할 수 있고 break문을 생략할 수 있다.

 

 

 

 

식(expression)으로 사용될 수 있어서 바로 변수로 할당할 수 있다.

 

 

 

 

break로 반환하는 문법이 자바 12에서 있었으나 자바 13에서는 yield로 변경되었다.

 

 

velog.io/@jeonghaemin/자바-스터디-3주차-과제-연산자

 

 


Reference

 

https://coding-factory.tistory.com/521

[Java] 비트(Shift) 연산자 사용법 & 예제

비트 연산자는 데이터를 비트 단위로 연산합니다. 그러므로 0과 1로 표현이 가능한 정수 타입만 비트 연산이 가능합니다. 비트 연산자는 기능에 따라 비트 이동연산자, 비트 논리연산자로 구분

coding-factory.tistory.com

velog.io/@foeverna/Java-연산자-관계-논리-조건-비트-연산자

[Java] 연산자 - 관계, 논리, 조건, 비트 연산자

비교 연산자라고도 하며 우리가 수학시간에 배웠던 부등호를 생각하시면 됩니다. 관계연산자의 결과는 true 혹은 false 값인 boolean 자료형으로 반환이 됩니다. 뒤에서 배울 제어문에서 많이 사용

velog.io

catsbi.oopy.io/c750e102-a202-4b70-b679-71c2fb2418

728x90