프로그래밍 언어/JAVA
[Java/자바] 연산자란 무엇인가?
고품격미식가
2019. 8. 20. 21:48
프로그래밍을 하다보면 값을 연산해야 하는 경우가 자주 있습니다. 연산에 사용하는 기호를 연산자(operator)라고 하며, 연산자는 간단한 사칙연산부터, 비교연산자, 논리연산자, 조건연산자 등 종류가 다양합니다. 그럼 하나씩 살펴보도록 하겠습니다.
산술 연산자
연 산 자 | 기 능 | 예 시 | ||
+ | 두 항을 더한다. | 5 + 2 | ||
- | 앞의 항에서 뒤의 항을 뺀다. | 5 - 2 | ||
* | 두 항을 곱한다. | 5 * 2 | ||
/ | 앞의 항에서 뒤의 항을 나누어 몫을 구한다. | 5 / 2 | ||
% | 앞의 항에서 뒤의 항을 나누어 나머지를 구한다. | 5 % 2 |
//example
int num1 = 5;
int num2 = 2;
int result;
result = num1 * num2; //num1변수의 값 5와 num2변수의 값 2를 곱한 10을 result 변수에 대입.
System.out.println(result); //result변수의 값 10 출력.
증감 연산자
증감 연산자는 연산자를 앞에 쓰는 경우와 뒤에 쓰는 경우 그 결과 값이 전혀 다르므로 주의하도록 합니다.
연 산 자 | 기 능 | 예 시 |
++ | 항의 값에 1을 더한다. |
val = ++num; //num값이 1증가한 후 val변수에 대입 |
-- | 항의 값에 1을 뺀다. |
val = --num; //num값이 1감소한 후 val변수에 대입 |
//example
int val;
int num1 = 10;
int num2 = 10;
val = ++num1; //val변수에 11이 대입됨
val = num2++; //val변수에 10이 대입되고, num2변수 값은 11로 증가
비교 연산자
비교 연산자는 두개의 항 중 어느것이 더 큰지, 작은지, 같은지, 다른지의 여부를 검사할 수 있습니다.
비교 연산자의 결과 값은 참(true) 또는 거짓(false)으로 반환됩니다.
연 산 자 | 기 능 | 예 시 |
> | 왼쪽 항이 크면 참, 아니면 거짓을 반환. | num > 5 |
< | 왼쪽 항이 작으면 참, 아니면 거짓을 반환. | num < 5 |
>= | 왼쪽 항이 오른쪽 항보다 크거나 같으면 참, 아니면 거짓을 반환. | num >= 5 |
<= | 왼쪽 항이 오른쪽 항보다 작거나 같으면 참, 아니면 거짓을 반환. | num <= 5 |
== | 두 항의 값이 같으면 참, 아니면 거짓을 반환. | num == 5 |
!= | 두 항의 값이 다르면 참, 아니면 거짓을 반환. | num != 5 |
//example
int num = 10;
boolean result = num < 20; //num변수의 값은 20보다 작음으로, result변수에 참(true)대입
System.out.print(result); //콘솔창에 result변수의 값 true 출력
논리 연산자
논리 연산자는 주로 관계 연산자와 함께 사용됩니다.
연 산 자 | 기 능 | 예 시 |
&& (논리곱) |
두 항이 모두 참인 경우 참, 아니면 거짓 | boolean val = 5 > 2 && 5 > 3; |
|| (논리 합) |
두 항 중 하나의 항이라도 참이면 참, 아니면 거짓 | boolean val = 5 > 2 || 5 < 3; |
! (부정) |
참인 경우는 거짓으로 바꾸고, 거짓인 경우는 참으로 바꿈. | boolean val = !(5 > 2); |
//example
int num = 5;
boolean result = num > 3 && num > 4; //두 명제가 모두 참이므로 result변수에 true대입
System.out.println(result); // result변수 값 true 출력
복합 대입 연산자
복합 대입 연사자란 대입 연산자와 다른 연산자를 조합해 하나의 연산자처럼 사용하는 연산자 입니다. 복합 대입 연사자를 사용하면 코드를 보다 간결하게 표현할 수 있습니다.
연 산 자 | 기 능 | 예 시 |
+= | 두 항의 값을 더해서 왼쪽 항에 대입한다. |
num += 3; //num = num + 3; 과 같음 |
-= | 왼쪽 항에서 오른쪽 항을 빼고 그 값을 왼쪽 항에 대입한다. | num -= 3; //num = num - 3; 과 같음 |
*= | 두 항의 값을 곱해서 왼쪽 항에 대입한다. | num *= 3; //num = num * 3; 과 같음 |
/= | 왼쪽 항을 오른쪽 항으로 나누어 몫을 왼쪽항에 대입한다. | num /= 3; //num = num / 3; 과 같음 |
%= | 왼쪽 항을 오른쪽 항으로 나누어 나머지를 왼쪽 항에 대입한다. | num %= 3; //num = num % 3; 과 같음 |
//example
int num = 10;
num += 3; //num = num + 3; 과 같음
System.out.println(num); // 결과 값 13
조건 연산자
조건 연산자는 연산에 필요한 항의 개수가 세개 입니다.
연 산 자 | 기 능 | 예 시 |
조건식 ? 결과1 : 결과2 | 조건식이 참이면 결과1, 조건식이 거짓이면 결과2를 선택. | int num = 5 > 2 ? 10 : 20; |
//example
int num = 5 > 2 ? 10 : 20; //조건식이 참이므로, num변수에 10을 대입.
System.out.println(num); //num값 10을 출력.