연산자란?
연산자는 사전적 의미로 '프로그램을 짤 때 변수나 값의 연산을 위해 사용되는 부호'를 뜻한다.
우리에게 익숙한 연산자로는 쉽게 일상 생활에서 흔하게 사용하는 덧셈과 뺄셈, 곱셈과 나눗셈을 떠올릴 수 있다.
# 산술 연산자 ( + - * / % )
+ 덧셈
- 뺄셈
* 곱셈
/ 몫
% 나머지
나눗셈 연산자는 / 몫과 % 나머지로 나뉘는데, 목적에 따라 구분해서 사용할 수 있다.
몫은 나누어지는 값, 나머지는 나누고 남은 값을 의미한다.
ex) 10 / 3 = 3, 10 % 3 = 1
n % 2 == 0일 때 n은 짝수 (2로 나누어 떨어지므로)
n % 2 != 0 또는 n % 2 == 1일 때 n은 홀수 (2로 나누면 1이 남는 값이므로)
위의 예시와 같이 변수에 짝수 값 또는 홀수 값을 이용할 때에 사용할 수도 있다.
# 대입 연산자 ( = )
int a = 3;
대입 연산자는 일반적으로 사용하는 '같다' 라는 뜻이 아닌 이름과 같이 '대입'을 해주는 연산자이다.
즉, '오른쪽의 값을 왼쪽으로 대입한다'라는 의미를 가진다.
예시의 경우 int, 정수형인 변수 a에 3의 값을 저장한다는 의미로 대입 연산자가 사용되었다.
복합 대입 연산자
# 복합 대입 연산자 ( += -= *= /= %= )
a += b → a = a+b
a -= b → a = a - b
a *= b → a = a * b
a /= b → a = a / b
a %= b → a = a % b
복합 대입 연산자는 앞서 이야기한 산술 연산자와 대입 연산자가 결합된 형태이다.
a = a+b에서 겹치는 a를 줄이고 산술 연산자 +를 대입 연산자와 결합해 긴 식을 짧게 줄여주는 역할을 한다.
int a = 1;
int b = 3;
a += b; // a에 1+3인 4가 대입된다.
증감 연산자를 이용한 전위 연산과 후위 연산
증감(증가, 감소) 연산자 (++ --)
반복될 때 마다 변수값을 1씩 증가, 감소를 시키는 데 사용하는 연산자이다.
즉 a = a+1 == a += 1 == ++a 모두 같은 기능을 수행한다.
증감 연산자는 어렵지 않다. ++일 때는 변수값이 +1씩 증가하고, --일 때는 변수값이 -1로 감소하는 기능을 수행한다.
그리고 우리는 이러한 증감 연산자의 계산을 언제 수행할 것인가를 전위 연산 또는 후위 연산으로 정할 수 있다.
전위 연산 : ++num, --num
* 증감 연산을 먼저 수행한 후, 다른 행위를 수행한다.
후위 연산 : num++, num--
* 다른 행위를 수행한 후, 증감 연산을 수행한다.
전위 연산은 변수의 앞에 증감 연산자가 위치해 증감이 계산된 값이 변수에 대입되는 형태이다.
반대로 후위 연산은 변수의 뒤에 증감 연산자가 위치해 변수를 먼저 수행한 뒤 증감이 계산되는 형태이다.
int num = 10;
System.out.println(++num); // 11. 전위 연산으로 증감이 먼저 수행된다.
System.out.println(num++); // 11. 후위 연산으로 출력이 먼저 수행된다.
System.out.println(num); // 12. 위에서 11을 출력한 후 1이 증가된 값이 나온다.
'JAVA' 카테고리의 다른 글
[JAVA] 조건문(논리문) - 삼항 연산자, if문, switch case문 (0) | 2023.03.06 |
---|---|
[JAVA] 객체 생성 : new 연산자 (0) | 2023.02.24 |
[JAVA] 출력문 함수 System.out.println / print / printf (0) | 2023.02.23 |
변수 - 자료형과 변수명 (0) | 2023.02.23 |
10진법과 2진법, 8진법, 16진법 (0) | 2023.02.21 |