목차
연산(Operation)이란?
프로그램에서 데이터를 처리하여 결과를 산출하는 것
연산자: 연산에 사용되는 표시나 기호
피연산자 : 연산자와 함께 연산되는 데이터
연산식 : 연산자와 피연산자를 이용하여 연산의 과정을 기술한 것
연산자의 종류
연산자 종류 | 연산자 | 피연산자 수 | 산출값 | 기능 |
산술 | +, -, *, /, % | 이항 | 숫자 | 사칙연산 및 나머지 계산 |
부호 | +, - | 단항 | 숫자 | 음수와 양수의 부호 |
문자열 | + | 이항 | 문자열 | 두문자열을 연결 |
대입 | =, +=, -=, *=, /=, %= | 이항 | 다양 | 우변의 값을 좌변의 변수에 대입 |
증감 | ++, -- | 단항 | 숫자 | 1만큼 증가/감소 |
비교 | ==, !=, >, <, <=, >=, instanceof |
이항 | boolean | 값의 비교 |
논리 | !, &, |, &&, || | 단항 이항 |
boolean | 논리부정, 논리곱, 논리합 |
조건 | (조건식)? A:B | 삼항 | 다양 | 조건식에 따라 A 또는 B중 하나를 선택 |
연산자의 우선순위
단항, 이항, 삼항 연산자 순으로 우선순위를 가진다.
산술, 비교, 논리, 대입 연산자 순으로 우선순위를 가진다.
대부분의 연산자는 왼쪽에서 오른쪽 (->) 방향으로 연산
단항 연산자(++, --, ~, !), 부호 연산자(+, -), 대입 연산자 (=, +=, -=, ...)는 오른쪽에서 왼쪽 (<-)방향으로 연산
먼저 연산을 하고 싶다면 괄호 ()를 사용하면 최우선 순위를 갖는다.
증감연산자(++,--)
boolean 타입을 제외한 모든 기본 타입의 피연산자에서 사용가능
연산식 | 설명 | 기타 | |
++ | 피연산자 | 다른 연산을 수행하기 전에 피연산자의 값을 1 증가시킴 | 증감 연산자가 변수 앞에 있으면 우선 변수의 값을 1증가 또는 1 감소 후에 다른 연산자를 처리 |
-- | 피연산자 | 다른 연산을 수행하기 전에 피연산자의 값을 1 감소시킴 | |
피연산자 | ++ | 다른 연산을 수행한 후에 피연산자의 값을 1 증가시킴 | 증감 연산자가 변수 뒤에 있으면 다른 연산자를 먼저 처리 한 후 변수 값을 1증가 또는 1감소 |
피연산자 | -- | 다른 연산을 수행한 후에 피연산자의 값을 1 감소시킴 |
다른 연산자와 함께 사용하면 증감 연산자의 위치에 따라 연산식의 결과가 다르게 나오므로 주의해야한다.
int x = 1; y = 1;
int result1 = ++x + 10;
int result2 = y++ + 10;
더보기
result1 12가 저장
result 2 11이 저장
- ++i 가 i=i+1보다 연산속도가 빠르다고 알고있지만 컴파일 해서 생성된 바이트 코드를 비교해보면 동일하다
따라서 연산 속도는 차이가 없다.
삼항 연산자
삼항 연산자(?:)는 3개의 피연산자를 필요로 하는 연산자를 말합니다.
'JAVA > 변수' 카테고리의 다른 글
06. 변수와 시스템 입출력 (0) | 2021.08.13 |
---|---|
05. 변수의 타입 변환 (0) | 2021.08.12 |
04. 기본 타입 (0) | 2021.08.10 |
03. 변수 (0) | 2021.08.10 |