[Java] Ch03_1. 연산자(Operator)
📌 Chapter03. 연산자(Operator)
✏️ 1. 연산자(Operator)
1.1 연산자와 피연산자
x + 3
- 연산자: 연산을 수행하는 기호(+,-,* 등)
- 피연산자: 연산자의 작업 대상(변수, 상수, 리터럴, 수식)
- 연산자는 피연산자로 연산을 수행하고 나면 항상 결과값을 반환한다.
▶ 연산자의 종류
▶ 식(式)과 대입연산자
연산자를 사용해 결과를 얻었다면 그 값을 변수에 저장해야 한다.
1 + 2; // 3이라는 결과를 얻지만 쓰이지 않고 사라진다.
y = 1 + 2;
System.out.println(y); // 변수 y의 값을 화면에 출력
1.2 연산자의 우선순위와 결합규칙
식에 사용된 연산자가 둘 이상인 경우, 연산자의 우선순위에 의해서 연산순서가 결정된다. 수학에서 곱셉과 나눗셈이 덧셈과 뺄셈보다 우선순위가 높은 것과 같다.
- 산술 > 비교 > 논리 > 대입. 대입은 제일 마지막에 수행된다.
- 단항(1) > 이항(2) > 삼항(3) . 단항 연산자의 우선순위가 이항 연산자보다 높다.
- 단항 연산자와 대입 연산자를 제외한 모든 연산의 진행방향은 왼쪽에서 오른쪽이다.
1.3 산술 변환(usual arithmetic conversion)
이항 연산자는 두 피연산자의 타입이 일치해야 연산이 가능하므로, 연산전에 형변환 연산자로 피연산자의 타입을 일치시켜야한다.
int i = 10; float f = 20.0f; float result = f + (float)i; // 형변환으로 두 피연산자의 타입을 일치
작은 타입에서 큰 타입으로 형변환하는 경우, 자동 형변환되므로 형변환 연산자를 생략할 수 있다.
float result = f + i;
▶ 산술 변환 규칙
- 두 피연산자의 타입을 같게 일치시킨다. (보다 큰 타입으로 일치)
long + int -> long + long -> long
float + int -> float + float -> float
- 피연산자의 타입이 int보다 작은타 타입이면 int로 변환된다.
byte + short -> int + int -> int
char + short -> int + int -> int
- 모든 연산에서 '산술 변환'이 일어나지만, 쉬프트 연산자와 증감 연산자는 예외이다.
참고
자바의 정석(저자: 남궁성)
오늘의 한 줄
연산자와 우선순위 규칙은 파이썬에도 있는 내용이므로 쉽게 익힐 수 있었다.
내일은 연산자 종류대로 자세히 알아보고, 예제를 통해 자바 연산을 익히겠다.
Author And Source
이 문제에 관하여([Java] Ch03_1. 연산자(Operator)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@falling_star3/Java-Ch031.-연산자Operator저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)