티스토리 뷰

728x90
반응형

목표

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

스터디 목차

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

 

1. 산술 연산자

 

산술 연산자는 사칙연산을 다루는 기본적이면서도 가장 많이 사용되는 연산자이다.

산술 연산자는 모두 두 개의 피연산자를 가지는 이항 연산자 이며, 피연산자들의 결합 방향은 왼쪽에서 오른쪽이다.

 

2. 비트 연산자

 

비트 연산자는 논리 연산자와 비슷하지만, 비트(bit) 단위로 논리 연산을 할 때 사용하는 연산자이다.

또한, 비트 단위로 왼쪽이나 오른쪽으로 전체 비트를 이동하거나, 1의 보수를 만들 때도 사용한다.

 

3. 관계 연산자

 

비교 연산자라고도 한다.

관계 연산자의 결과는 true 혹은 false 값인 booleaan 자료형으로 반환이 된다.

관계 연산자 설명
> 왼쪽 항이 크면 참, 아니면 거짓을 반환함
< 왼쪽 항이 작으면 참, 아니면 거짓을 반환함
>= 왼쪽 항이 오른쪽 항보다 크거나 같으면 참, 아니면 거짓을 반환함
<= 왼쪽 항이 오른쪽 항보다 작거나 같으면 참, 아니면 거짓을 반환함
== 두 개 항의 값이 같으면 참, 아니면 거짓을 반환함
!= 두 개 항이 다르면 참, 아니면 거짓을 반환함

 

 

4. 논리 연산자

 

논리 연산자는 주어진 논리식을 판단하여, 참(true)과 거짓(false)을 결정하는 연산자이다.

AND 연산과 OR 연산은 두 개의 피연산자를 가지는 이항 연산자이며, 피연산자들의 결합 방향은 왼쪽에서 오른쪽이다.

NOT 연산자는 피연산자가 단 하나뿐인 단항 연산자 이며, 피연산자의 결합 방향은 오른쪽에서 왼쪽이다.

 

다음은 논리 연산자의 모든 동작의 결과를 보여주는 진리표(true table)이다.

논리연산자를 사용할시 주의할점

자바는 SCE(Short Circuit Evaluation) 연산을 사용한다.

SCE란 최단거리 연산이라고 생각하면 된다.

 

ex)

A && B 일때 A가 false 인경우 B조건을 실행 안하고 지나간다

A || B 일때 A가 true 이면 B조건을 실행 안하고 지나간다.

 

5. instanceof

 

instanceof 연산자란 instanceof 왼쪽에 위치한 참조 변수가 instanceof 오른쪽에 위치한 타입으로 형 변환 가능한 타입인지 연산한다.

형 변환이 가능하다면 true를 반환하고 가능하지 못하다면 false를 반환 한다.

 

6. assignment(=) operator (대입 연산자)

 

대입 연산자는 변수에 값을 대입할 때 사용하는 이항 연산자이며, 피연산자들의 결합 방향은 오른쪽에서 왼쪽이다.

또한, 앞서 살펴본 산술 연산자와 결합한 다양한 복합 대입 연산자가 존재한다.

 

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

 

자바에서는 화살표(->) 기호를 사용하여 람다 표현식을 작성한다.

JAVA8 부터 사용이 가능하고 코드를 간결하게 만들어준다.

 

(매개변수) -> { 실행문 ... }

 

 

8. 3항 연산자

 

삼항 연산자는 ? 앞의 조건식에 따라 결과값이 참(true) 이면 반환값 1 을 반환하고, 거짓(false)이면 반환값 2를 반환한다.

 

조건식 ? 반환값1 : 반환값2

 

 

9. 연산자 우선 순위

 

연산자 우선순위는 수식 내에 여러 연산자가 함께 등장할 때, 어느 연산자가 먼저 처리될 것인가를 결정 한다.

 

10. (optional) Java 13. switch operator

 

switch문에서 Java 12부터 콜론(:) 대신 화살표(->)연산자를 사용할 수 있다.

그리고 Java 13부터는 break 대신 yield를 사용한다.

 

기존 switch문

break의 위치에 따라 실행 결과가 달라질 수 있기 때문에 개발자가 의도적으로 break를 했는지 실수인지 파악하기 힘듬

 

강화된 switch 표현식

람다식에 -> 를 사용

여러 조건에 따라 ',' 로 구분해서 한번에 처리 가능, 예전 콜론 방식으로도 사용가능

 

반환값 받기

표현식으로 변경되었기 때문에 결과값을 반환 받는 형식으로 만들 수 있다.

 

반환값이 있는 표현식을 블록 구문으로 사용

yield 키워드를 사용해서 반환(break문 대신 사용)

return 키워드를 사용하면 컴파일 에러가 발생한다. (반환값이 없는 경우라면 return 사용할 수도 있다.)

 

 

 

 

 

 

 

Reference


 

www.tcpschool.com/

 

코딩교육 티씨피스쿨

4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등

tcpschool.com

 

zbulletjournal.tistory.com/100

 

논리 연산자, SCE연산

논리연산과 논리연산자 논리 연산은 '불린 연산'(Boolean Operation)이라고도 한다. 논리 연산자는 참과 거짓으로 이루어지는 진리값이 피연산자인 연산자이다. 논리 부정 연산자 ! - 반복적으로 적용

zbulletjournal.tistory.com

toma0912.tistory.com/66

 

자바의 연산자 및 연산자 우선순위

안녕하세요. 오늘은 Java를 공부하면서 기본적인 '연산자'에 대해서 연산자가 무엇인지, 그 종류 및 연산자 우선순위에 대해서 포스팅해보려고 합니다. 1. 연산자란? 어떠한 기능 또는 어떤 대상

toma0912.tistory.com

dev-kani.tistory.com/21

 

[Java 14] Enhanced Switch Expressions

Java 12, 13에서 2번의 Preview를 통해 강화된 Switch 표현식이 Java 14에서 표준화되었다. 기존 switch 구문 public class SwitchExpressionsExample { public static void main(String[] args) { SwitchExpressi..

dev-kani.tistory.com

 

반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30