프로그래밍 언어/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변수에 대입
val = num++; //val변수에 기존 num값을 대입한 후 num값 1증가

-- 항의 값에 1을 뺀다.

val = --num; //num값이 1감소한 후 val변수에 대입
val = num--; //val변수에 기존 num값을 대입한 후 num값 1감소

//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을 출력.