[Java] 연산자

sobam·2022년 10월 19일
0

자바

목록 보기
2/18
post-thumbnail

📔 학습한 내용을 정리하기 위해 작성하는 게시글입니다.

연산자(Operator)란?


자바에서는 여러 종류의 연산을 수행하기 위한 다양한 연산자(operator)를 제공한다.

  • 연산(Operation): 프로그램에서 데이터를 처리하여 결과를 산출하는 것
  • 연산자(Operator): 연산에 사용되는 표시나 기호
  • 피연산자(Operand): 연산되는 데이터


연산자의 종류


자바와 연산자는 연산 결과의 특징에 따라 3가지로 나눌 수 있다.
1) 연산 결과가 특정 값이 나오는 산술, 증감, 비트, 시프트 연산자
2) 연산 결과가 참(true)과 거짓(false)중 하나의 값으로만 나타나는 비교, 논리 연산자
3) 값을 반환하는 것이 아닌 값을 대입하는 의미를 지닌 대입 연산자와 삼항 연산자


1. 산술 연산자(arithmetic operator)

가장 기본적인 연산자로, 사칙연산(+, -, *, /)과 나머지 연산(%)을 다룬다. (두개의 피연산자를 가지는 이항 연산자)

: 해당 연산의 실행을 위해 필요한 값이나 변수

이항 연산자 : 해당 연산의 실행을 위해서 두 개의 값이나 변수가 필요한 연산자


2. 증감 연산자(increment and decrement operators)

변숫값을 1씩 증가 또는 감소시키는 연산자이다. (피연산자가 하나인 단항 연산자)

  • 전위형(prefix) : 피연산자 앞에 위치, 값이 참조되기 전에 증가시킨다. ( ++x )
  • 후위형(postfix) : 피연산자 뒤에 위치, 값이 참조된 후에 증가시킨다. ( y++ )


3. 비트 연산자(bitwise operator)와 시프트 연산자(shift operator)

비트 연산자는 비트(bit) 단위로 논리 연산을 할 때 사용하는 연산자이다. 비트 단위로 왼쪽이나 오른쪽으로 전체 비트를 이동하거나, 1의 보수를 만들 때도 사용한다.


4. 비교 연산자(comparison operator)

비교 연산자는 피연산자 사이의 상대적인 크기를 판단하는 연산자이다. (두 개의 피연산자를 가지는 이항 연산자)

등가 비교(==)와 대입 연산자(=)

  • 등가 비교 연산자(==) : 두 값이 동일한지의 여부를 확인해 true, false로 반환하는 연산자
  • 대입 연산자(=) : 오른쪽의 값을 왼쪽에 대입하는 연산자

등가 비교(==) 시 비교 대상은?
등가 비교를 할 때 비교 대상은 스택 메모리값이다.

  • 기본 자료형 : 실제 데이터 값 (=스택 메모리값)
  • 참조 자료형 : 실제 데이터 값이 위치한 번짓값 (스택 메모리값)

아스키코드(ASCII)는 영문 대소문자를 사용하는 7비트의 문자 인코딩 방식이다. 총 128개의 문자를 표현한다.

※ 영문 대문자의 아스키 코드 값 > 영문 소문자의 아스키 코드 값


5. 논리 연산자(logical operator)

논리 연산자는 주어진 논리식을 판단하여, 참(true)과 거짓(false)을 결정하는 연산자이다.
(AND 연산과 OR 연산은 두 개의 피연산자를 가지는 이항 연산자, NOT 연산자는 피연산자가 단 하나뿐인 단항 연산자)


6. 대입 연산자(assignment operator)

오른쪽 피연산자의 연산 결과를 왼쪽 변수에 대입하는 연산자 (두 개의 피연산자를 가지는 이항 연산자)


7. 삼항 연산자(ternary operator)

삼항 연산자는 자바 연산자 중 유일하게 3개의 피연산자를 갖는 조건 연산자이다.

  • 조건이 까다롭지 않을 경우 if문 보다 코드를 줄일 수 있으나, 조건이 많아지면 가독성을 헤친다.

문법

(조건식) ? 참일 때 반환값 : 거짓일 때 반환값

8. instanceof 연산자

참조 변수가 참조하고 있는 인스턴스의 실제 타입을 반환해 주는 연산자이다.

  • 해당 객체가 어떤 클래스나 인터페이스로부터 생성되었는지를 판별해 주는 역할을 한다.

문법

인스턴스이름 instanceof 클래스또는인터페이스이름


연산의 방향과 우선순위


식에 사용된 연산자가 둘 이상인 경우 연산자의 우선순위에 의해 연산되는 순서가 결정된다.

  • 단항 연산자 > 이항 연산자
  • 곱셈, 나눗셈 > 덧셈, 뺄셈
  • 산술 연산자 > 비교 연산자 > 논리 연산자 > 대입 연산자(가장 마지막에 수행)

연산의 방향과 우선순위



🔔 Reference

<Do it! 자바 완전 정복>
http://www.tcpschool.com/java
https://hoonmaro.tistory.com/m/13
https://intrepidgeeks.com/tutorial/java-clear-operator

0개의 댓글

관련 채용 정보