본문 바로가기

하고 싶은 거 하는 개발/Java 프로그래밍 기초

[JAVA] 자바(JAVA) 연산자에 대하여

728x90

 

 

 

연산자란 단어 그대로 어떠한 연산(계산)을 하기 위해 사용하는 기호를 의미합니다. 

연산자는 보통 연산되는 피연산자의 개수를 기준으로 종류를 나누기도 하고, 용도에 따라 종류를 나누기도 합니다. 

 

이번에는 연산자에 대한 기초를 익힌다는 의미에서 가장 많이 사용되는 연산자에 대해서만 알아보도록 하겠습니다. 

 

산술 연산자

산술 연산자는 수학적인 계산에 사용되는 연산자입니다. 

초등학교 수학과정에서 배우는 기초적인 수학적 소양만 갖추고 있다면 어려운 부분은 없습니다.

다만 수학에서 사용되는 연산자와 프로그래밍에서 사용되는 연산자는 기호의 모양이 조금 다르므로 그 부분만 유의하시면 됩니다. 

 

+ 더하기
- 빼기
                                      *                                                                          곱하기                                   
                                     /                                                                          나누기                                   
                                    %                                                                         나머지                                  

 

분홍색으로 표시한 연산자가 수학과 프로그래밍에서 기호의 모양이 다른 연산자입니다. 

 

예제를 통해 자세히 알아보겠습니다. 

 

		int a = 1 + 2; // 1 더하기 2 = 3		
		
		System.out.println(a);
		
		a = a - 1; // a는 3이므로 3 빼기 1 = 2
		
		System.out.println(a);
		
		a = a * 2; // a는 2이므로 2 곱하기 2 = 4
		
		System.out.println(a);
		
		a = a / 2; // a는 4이므로 4 나누기 2 = 2
		
		System.out.println(a);
		
		a = a % 2; // a는 2이므로 2 나머지 2 = 0
		
		System.out.println(a); 

 

위와 같이 작성한 후 실행합니다. 

 

 

위와 같이 출력되었습니다. 

 

헷갈릴 수 있는 나머지는 추가 예제를 통해 더 자세히 알아보겠습니다. 

 

		int a = 3;
		
		System.out.println(0 % a);
		System.out.println(1 % a);
		System.out.println(2 % a);
		System.out.println(3 % a);
		System.out.println(4 % a);
		System.out.println(5 % a);
		System.out.println(6 % a);

 

위와 같이 작성 후 실행합니다. 

 

 

위와 같은 결과가 출력되었습니다. 

나머지는 오른쪽의 피연산자를 왼쪽의 피연사자로 나누었을 때 나머지 수를 의미합니다. 

 

예를 들어 5를 3으로 나누면 몫은 1이고, 나머지는 2가 됩니다.

나누기 연산자(%)는 나머지 2를 구하기 위해 사용되는 연산자입니다.

 

5를 3으로 나누면 몫은 1이고 나머지는 2 따라서 5%3은 2.

 

 

추가로, 더하기 연산자(+)는 숫자뿐만 아니라, 문자열을 더할 때도 사용됩니다. 

 

		String a = "hello ";
		String b = "world!";
		
		String c = a + b;
		
		System.out.println(c);

 

위와 같이 작성 후 실행합니다.

 

 

 

문자열 변수 C를 출력했는데 "hello world!"가 출력되었습니다.

이처럼 더하기 연산자는 문자열을 더할 때도 사용됩니다.

 

단항 연산자

단항 연산자는 연산에 사용되는 피연산자의 갯수가 하나일 때 사용되는 연산자입니다.

종류는 다음과 같습니다. 

 

+ 양수 부호. 실제로는 사용할 필요가 없다
- 음수 부호.
++ 증가 연산자. 피연산자의 값을 1 증가시킨다.
-- 감소 연산자. 피연산자의 값을 1 감소시킨다.

 

 

산술 연산자와 마찬가지로 예제를 통해 알아보겠습니다.

 

		int a = +1; //양수 부호
		System.out.println(a);
		
		int b = -1; //음수 부호
		System.out.println(b);
		
		int c = 1;
		
		System.out.println(c++);//증가 연산자
		System.out.println(c);
		
		int d = 1;
		System.out.println(d--);//감소 연산자
		System.out.println(d);

 

위와 같이 작성한 후 실행합니다. 

 

 

 

위와 같이 출력되었습니다.

양수 1, 음수 1이 제대로 출력되었고, 증가 연산자, 감소 연산자 또한 제대로 출력되었습니다.

 

혹시 증가 연산자, 감소 연산자가 제대로 출력되었다는 말이 이해가 안 되시나요?

 

자세히 설명드리겠습니다.

 

증가 연산자와 감소 연산자, 줄여서 증감 연산자는

위치에 따라 1을 증감시킨 후 print를 할지, print 후 1을 증감시킬지 결정됩니다.

 

코드를 보시면 증가 연산자 ++과 감소 연산자 --는 피연산자의 뒤에 위치하고 있습니다.

이는 print 후에 피연산자의 값을 증감시키겠다는 뜻입니다.

 

print 후에 피연산자의 값이 증감되었기 때문에 해당 행의 출력 값에는 그대로 값이 1이 나왔으나,

다음 행의 출력 값에는 증감되어 2, -1이 출력된 것입니다. 

 

그렇다면 피연산자의 값을 증감시킨 후에 출력을 하려면 어떻게 해야 될까요? 

증감 연산자의 위치에 따라 결정된다고 했습니다. 

 

		int c = 1;
		
		System.out.println(++c);//증가연산자
		
		int d = 1;
		System.out.println(--d);//감소연산자

 

위와 같이 작성 후 실행합니다. 

 

 

증감 연산자를 피연산자 앞에 위치시켰기 때문에 피연산자의 값을 증감시킨 후 print가 실행되었습니다. 

따라서 2와 0이 출력되었습니다.

 

아직도 헷갈리시나요? 중요한 내용은 아니니 일단 넘어간 뒤 후에 다시 보셔도 됩니다. 

 

 

산술 연산자와 단항 연산자 외에도 시프트 연산자, 관계 연산자 등이 있습니다.

아직 기초를 익히는 과정이기 때문에 해당 연산자에 대해서 자세히 다루지는 않겠습니다. 

 

혹시 자세히 알고 싶으신 분은 블로그나, 인강 등에 자세히 정리되어 있으니 찾아서 공부하시면 되겠습니다. 

반응형