연산자 한방에 끝내기!
오늘은 연산자를 한번에 끝나겠습니다. 연산자가 어렵지는 않지만 조금씩 주의해야 할 사항이 있어 분량이 조금 됩니다.
1. 산술 연산자 : 이항 연산자로 연산 방법, 우선 순위가 일반 수학 산술이랑 동일합니다.
+: 덧셈
- : 뻴셈
* : 곱셈
/ : 나눗셈
% : 모듈러(Modular) -> 나눗셈에서 나머지를 구하는것.
출력문을 적을 때 괄호 넣는것에 조심하여야 합니다. 작은 실수라고 생각 할 수 있지만, + 로 연결된 출력문에서 괄호를 적지 않으면 각각 문자열로 인식을 해버려서 정확한 값을 구할 수 없습니다. 10+3을 해야 하는데 103이 출력 될 수 있습니다. 또 -도 괄호를 안하면 문자열 합쳐지는 연산이 먼저 실행되기 때문에 괄호를 해야합니다. 나머지 연산자(*,%,/)는 + 보다 높은 순위를 가지므로 오류는 안나지만 가독성을 위해 괄호를 합시다.
값을 계산하고 출력하는 산술연산자입니다. 여기서 중요한것은 0을 수학과 동일하게 나눌 수 없는것입니다. 이를 ArithmeticException이라고 하는데 산술적으로 오류가 나타나서 생깁니다. 나중에 자바 뒷 부분에 가시면 예외처리를 배우시게 됩니다. ArithmeticException도 하나의 예외처리이고, try~catch문 throws 구문을 통해서 예외처리를 해야하는데 나중에 심도있게 다루겠습니다.
사탕을 나누어 주는 메소드를 만들어보겠습니다. 스캐너 함수로 인원 수와 사탕 갯수를 입력 받습니다. 1인당 받을 수 있는 사탕의 갯수를 사탕 갯수/ 인원수, 남은 사탕의 갯수를 사탕 갯수 % 인원 수로 계산하여 계산해봅시다.
2. 증감연산자 : 단항 연산자로서 한번에 1씩 증가 (더하거나) 감소 (빼거나) 하는 연산을 합니다.
-> 먼저 증감을 할건지, 나중에 증감을 할건지 연산자의 위치에 따라 달라집니다.
++ : 값을 1씩만 증가 시키는 연산자.
-- : 값을 1씩만 감소 시키는 연산자.
연산자의 위치
전위 연산 : ++값, --값, -> 먼저 1을 증감 또는 감소 시키고 그 값을 처리.
후위 연산 : ++값, --값, -> 먼저 값을 처리하고 (타연산자 먼저 실행 후) 1증감 또는 감소
후위연산의 예입니다. 처음 하시는분이면 굉장히 헷갈립니다. 자기만의 계산방법이 있다면 그 방법을 사용하시고, 저는 간단하게 생각하여 전위연산, 후위연산을 합니다. 저는 수학연산을 생각하며 항상 왼쪽계산을 하고 오른쪽계산을 한다고 생각합니다. 후위연산은 변수가 제일 왼쪽에 있어서 계산해야하니 먼저 선대입을 합니다. 그리고 ++나--가 있기에 1을 더해주거나 빼줍니다. 반대로 전위연산은 앞에 ++나 --가 있으니 먼저 더하거나 빼줍니다. 그리고 변수가 있으니 처리해준 값을 대입해줍니다. 저의 방식은 저만의 방법이기에 tip으로 사용하실분은 하시고, 더 좋은 방법이 있다면 공유 부탁드립니다. 중요한것은 헷갈리지 말고 계산만 잘하면 됩니다.
혹시 연습이 필요하시다면 연습해보시길 바랍니다.
3. 복합 대입 연산자
다른 산술 연산자랑 대입 연산자가 결합 한 것, 이항연산자
=> 자기 자신과 해당 산술 연산 후 그 결과를 자기 자신에게 덮어 씌우는것
+=
-=
*=
/=
%=
예시를 들어보겠습니다.
a+=3; <=> a= a+3; ( 즉 =기준으로 오른쪽항을 왼쪽항에 넣겠다. 저 두개의 식은 같은 표현입니다.)
a-=3; <=> a= a-3;
a*=3; <=> a= a*3;
a/=3; <=> a= a /3;
a%=3; <=> a= a%3;
4. 논리 부정 연산자
논리값(true/false)을 반대로 만들어 주는 연산자.
표현법은 !논리값
!= 이 연산자도 많이 쓴다. ( 왼쪽항이랑 오른쪽항 주소값이 같지 않을때 라는 뜻이다.)
여기서 헷갈리실것 같아 구분하면
1) = 의 뜻은 오른쪽항에서 왼쪽항으로 대입한다(주소값, 값등등).
2) ==의 뜻은 오른쪽항과 왼쪽항이 일치하는가?를 의미한다. 그러므로 != 뜻은 오른쪽항과 왼쪽항이 일치하지 않는가?라고 알고 있으시면 됩니다.
5. 비교연산자
다음을 참고하여 비교연산자를 사용하세요. 그리고 홀수 짝수를 구분 할 수 있는 표현이 있습니다.
홀수 짝수를 구별해주어야 할때 많이 쓰는 표현법입니다.
6. 논리 연산자
사용예시를 들어보겠습니다.
먼저 AND개념
OR 개념
어렵지 않기에 조건에 따라서 and or을 판단해서 사용하시면 됩니다.
7. 삼항연산자
삼항 연산자는 피연산자가 3개 이고, 값 3개와 연산자 1개로 이루어집니다.(조건식 형태)
조건식 : 결과 값에 따라 연산을 처리합니다. 결과값이 참일 경우 식 1을 처리, 거짓일 경우 식 2처리
다음이 num의 양수, 음수, 0인지 구별시 num>0 이 참이면 양수입니다로 출력이됩니다. 만약에 num>0이 아니라면 거짓이고
num==0을 판단해야합니다. 이 또한 판단할때 참이면 0입니다가 도출됩니다. 만약에 num==0이 거짓이라면 음수입니다라는 도출합니다.
총7가지 연산자를 다루어보았습니다. 대체적으로 쉬운 내용인데 모두 숙지해서 실수없이 개념을 쌓기를 기원합니다.