본문 바로가기
Java

연산자와 연산식

by 승환파크 2023. 6. 20.

연산자의 종류

자바 언어에서는 다양한 연산자를 제공하고 있다.

이 연산자들은 피연산자를 연산해서 값을 산출하는데, 산출되는 값의 타입(자료형)은 연산자별로 다르다.

예를 들어 산술 연산자일 경우는 숫자 타입(byte, short, int, long)으로 결과값이 나오고, 비교 연산자와 논리연산자의 경우는 논리 타입(boolean) 으로 결과값이 나온다.

 

밑의 표는 자바에서 제공하는 연산자이다.

연산자 종류 연산자 피연산자 수 산출값 기능
산술 +, -, *, /, % 이항 숫자 사칙연산 및 나머지 계산
부호 +, - 단항 숫자 음수와 양수의 부호
문자열 + 이항 문자열 두 문자열을 연결
대입 =, +=, -=, *=, /=, %= 이항 다양 우변의 값을 좌변에 대입
증감 ++, -- 단항 숫자 1만큼 증가/감소
비교 ==, !=, <, >, <=, >=, instanceof 이항 boolean 값의 비교
논리 !, &, |, &&, || 단항
이항
boolean 논리 부정, 논리곱, 논리합
조건 (조건식)? A : B 삼항 다양 조건식에 따라 A 또는 B 중 하나를 선택

연산식은 반드시 하나의 값을 산출한다. 연산자 수가 아무리 많아도 2개 이상의 값을 산출하는 연산식은 없다. 그렇기 때문에 하나의 값이 올 수 있는 곳이면 어디든 값 대신 연산식을 사용할 수 있다.

 

보통 연산식의 값은 변수에 저장하는데, 다음과 같이 x와 y변수의 값으 더하고 나서 결과값을 result 변수에 저장한다.

int result = x + y;

 

연산식은 다른 연산식의 피연산자 위치에 올 수 있다. 아래와 같이 비교 연산자인 < 의 왼쪽 피연산자로 (x + y) 라는 연산식이 사용되었다. x 와 y 변수의 값으 더하고 나서 5보다 작은지 검사한 후 결과값(true or false)을 result 변수에 저장한다.

boolean result = (x + y) < 5;

 

연산의 방향과 우선순위

연산식에는 다양한 연산자가 복합적으로 구성된 경우가 많다. 산술 연산식에서 덧셈(+), 뺄셈(-) 연산자 보다는 곱셈(*), 나눗셈(/) 연산자가 우선 처리된다.

이처럼 프로그램에는 연산자의 연산 방향과 연산자 간의 우선순위가 정해져 있다.

 

보통 우선순위가 같은 연산자들끼리는 왼쪽에서 오른쪽 방향으로 연산을 수행한다. 하지만 단항 연산자, 부호연산자, 대입 연산자의 경우 오른쪽에서 왼쪽 방향으로 연산을 수행한다.

 

연산의 방향과 우선순위는 아래와같다.

  1. 단항, 이항, 삼항 연산자 순으로 우선순위를 가진다.
  2. 산술, 비교, 논리, 대입 연산자 순으로 우선순위를 가진다.
  3. 단항, 부호, 대입 연산자를 제외한 모든 연산의 방향은 왼쪽에서 오른쪽이다.
  4. 복잡한 연산식에는 괄호 를 사용해서 우선순위를 정한다.

'Java' 카테고리의 다른 글

자바 조건문  (0) 2023.06.20
연산자의 종류  (1) 2023.06.20
자바 타입 변환  (0) 2023.06.20
자바 기본 타입  (0) 2023.06.19
자바 변수  (0) 2023.06.19