온라인 자바 스터디 3주차

wannte·2021년 1월 7일
0
post-thumbnail

목표

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

산술 연산자

  • + : Additive operator (String의 Concatenation에도 사용)
  • - : Subtraction operator
  • * : Multiplication operator
  • / : Division operator
  • % : Remainder operator

단항 연산자(Unary)

  • + : Unary plus operator (양의 값을 의미, 생략해도 양의 값)
  • - : Unary minus operator
  • ++ : Increment operator; += 1
  • -- : Decrement operator; -= 1
  • ! : Logical complement operator; true -> false, false -> true

비트 연산자

  • ~: unary bitwise complement operator; 비트 패턴을 invert (각각의 0 to 1, 1 to 0)

  • << : (signed) shift bit pattern to the left

  • >> : (signed) shift bit pattern to the right, leftmost position shift depends sign extension

  • >>> : (unsigned) shift bit pattern to the right, leftmost position shift a zero

  • & : bitwise AND operation

  • ^ : bitwise OR operation

  • | : bitwise exclusive OR operation

관계 연산자

  • == : equal to
  • != : not equal to
  • > : greater than
  • >= : greater than or equal to
  • < : less than
  • <= : less than or equal to

논리 연산자

  • && : Conditional - AND
  • || : Conditional = OR

instanceof

참조변수가 참조하고 있는 인스턴스의 실제 타입을 알아보기위해

참조변수 instanceof 클래스명; return true | false

return true: 참조 변수가 검사한 타입으로 형변환이 가능

Class ElectricCar extends Car

ElectricCar instanceof ElectricCar // true
ElectricCar instanceof Car // true
ElectricCar instanceof Object // true

실제 인서턴스와 같은 타입의 instanceof연산 이외의 조상타입의 instanceof 연산에도 true 리턴

cf. 참조변수 == null인 경우에는 언제나 false 리턴

assignment(=) operator

assing value on its right to the operand on its left

int a = 0;
Object b = new Object(); // object reference를 assign하는 데에도 사용

화살표(->) 연산자

람다 표현식의 문법에 사용
(Parameters) -> {Body}

3항 연산자

a ? x : y -> if a: x ; else y

연산자 우선 순위

괄호 > Unary > 산술 > 비트 > 관계 > 논리 > 3항 > 대입

출처: https://docs.oracle.com/javase/tutorial/java/nutsandbolts/operators.html

(optional) Java 13. switch 연산자

Java SE12부터 switch expressions을 도입했는데, "arrow case" 또한 사용이 가능했다.
Java 13버전부터는 그 값들을 specify 하기 위하여 break statement 대신에 새로운 yield statement를 도입했다.

참고자료

ORACLE Java Docs

profile
The Process

0개의 댓글