형과 연산자
- 형(operand) : 연산에 사용되는 값
- 연산자(operator) : 형을 이용하여 연산하는 기호
대입 연산자(Assignment operator)
- 변수에 다른 변수나 값을 대입하는 연산자
- 이항 연산자 중 우선 순위가 가장 낮은 연산자들
- 왼쪽 변수 = 오른쪽 변수(또는 식, 값)
부호 연산자
- 단항 연산자
- 변수의 부호를 유지하거나(+) 바꿈(-)
- 실제 변수의 부호가 변하려면 대입 연산자를 사용해야 함
산술 연산자
- 사칙 연산자
연산자 | 기능 | 예 |
+ | 두 항을 더합니다 | 5 + 3 |
- | 옆에 있는 항에서 뒤에 있는 항을 뺍니다 | 5 - 3 |
* | 두 항을 곱합니다 | 5 * 3 |
/ | 앞에 있는 항에서 뒤에 있는 항을 나누어 몫을 구합니다 | 5 / 3 |
% | 앞에 있는 항에서 뒤에 있는 항을 나누어 나머지를 구합니다 | 5 % 3 |
복합 대입 연산자
- 대입 연산자와 다른 연산자가 함께 쓰임
연산자 | 기능 | 예 |
+= | 두 항의 값을 더해서 왼쪽 항에 대입합니다. | num1 += 2; num1 = num1 + 2; 와 같음 |
-= | 왼쪽 항에서 오른쪽 항을 빼서 그 값을 왼쪽 항에 대입합니다. | num1 -= 2; num1 = num1 - 2; 와 같음 |
*= | 두 항의 값을 곱해서 왼쪽 항에 대입합니다. | num1 *= 2; num1 = num1 * 2; 와 같음 |
/= | 왼쪽 항을 오른쪽 항으로 나누어 그 몫을 왼쪽 항에 대입합니다. | num1 /= 2; num1 = num1 / 2; 와 같음 |
%= | 왼쪽 항을 오른쪽 항으로 나누어 그 나머지를 왼쪽 항에 대입합니다. | num1 %= 2; num1 = num1 % 2; 와 같음 |
<<= | 비트를 왼쪽으로 이동하고 그 값을 왼쪽 항에 대입합니다. | num1 <<=2; num1 = num1 << 2; 와 같음 |
>>= | 비트를 오른쪽으로 이동하고 그 값을 왼쪽 항에 대입합니다(왼쪽에 채워지는 비트 값은 부호 비트와 동일합니다.) | num1 >>=2; num1 = num1 >> 2; 와 같음 |
>>>= | 비트를 오른쪽으로 이동하고 그 값을 왼쪽 항에 대입합니다. | num1 >>>= 2; num1 = num1 >>> 2; 와 같음 |
&= | 두 항의 & 비트 연산 후 그 값을 왼쪽 항에 대입합니다. | num1 &= num2; num1 = num1 & num2; 와 같음 |
|= | 두 항의 | 비트 연산 후 그 값을 왼쪽 항에 대입합니다. | num1 |= num2; num1 = num1 | num2; 와 같음 |
^= | 두 항의 ^ 비트 연산 후 그 값을 왼쪽 항에 대입합니다. | num1 ^= num2; num1 num1 ^num2; 와 같음 |
증가, 감소 연산자
- 단항 연산자
- 변수의 값을 1 더하거나 1 뺄때 사용
- 연산자가 항의 앞에 있는가 뒤에 있는가에 따라 연산 시점과 결과가 달라짐
- 문장(statement)의 끝을(;)을 기준으로 연산 시점을 생각해야 함
연산자 | 기능 | 예 |
++ | 항의 값에 1을 더합니다 | val = ++num; // 먼저 num값이 1 증가한 후 val 변수에 대입 val = num++; // val 변수에 기존 num 값을 먼저 대입한 후 num값 1 증가 |
-- | 항의 값에 1을 뺍니다 | val = --num; // 먼저 num값이 1 감소 val = num--; // val변수에 기존 num 값을 먼저 대입한 후 num값 1 감소 |
예제)
public class OperatorTest {
public static void main(String[] args) {
int a = 150;
int b = ++a;
System.out.println(a);
System.out.println(b);
System.out.println();
int c = 150;
int d = c++;
System.out.println(c);
System.out.println(d);
System.out.println();
int e = 150;
int f = --e;
System.out.println(e);
System.out.println(f);
System.out.println();
int g = 150;
int h = g--;
System.out.println(g);
System.out.println(h);
}
}
'프로그래밍 언어 > JAVA(자바) 기초' 카테고리의 다른 글
8.자바의 연산자들(조건,비트 연산자) (0) | 2022.05.17 |
---|---|
7.자바의 연산자들(관계,논리 연산자) (0) | 2022.05.16 |
5.변하지 않는 상수와 리터럴,변수의 형 변환 (0) | 2022.05.16 |
4.자료형-문자 (0) | 2022.05.16 |
3.자료형-숫자 (0) | 2022.05.12 |
댓글