본문 바로가기
Java

Java(자바) - 연산자 알아보기

by allwing12 2022. 8. 11.

연산자에서는 산술을 할 수 있는 산술연산자가 있고 부호 연산자가 있다.

뭐 실질적으로 산술연산자 안에 부호 증감 등이 있다고 봐도 무방하다.

부호 연산자 (+ , -)

산술 연산자 (+, - , * , / , %)

증감 연산자 (++, --)

연산자에는 저렇게 세가지가 있다고 보면 된다.

부호 연산자는 부호를 결정하는 것이고

산술 연산자는 산술 연산을 할 수 있는 것이고

증감 연산자는 1씩 증가하거나 감소 시키는 것이다.

피 연산자가 1개인 연산자는 단항 연산자라고 한다.

 

 

 

부호 연산자와 증감 연산자는 단항 연산자 이다.

 

피연산자 하나로 연산할 수 없는 연산자는 이항 연산자 라고 한다.

 

2개의 변수를 이용한 산술연산은 위와 같다.

 

 

비교 연산자

 

비교 연산자는 기본적으로 물어보는게 크냐,같냐,작냐 이기 때문에

무조건 결과값은 boolean 값으로 나오게 된다.

== (같다) , !=(다르다), < (크다), >(작다), <=(크거나 같다), >=(작거나 같다)

위의 식으로 비교연산자를 작성할 수 있다.

 

 

위의 코드로 비교연산자를 작성할 수 있다.

 

또한 우리가 일반적으로 i에 값을 넣어주기 위해서 i = 10; 이런식으로 작성을 하는데

이런 부분도 단순 대입 연산자라고 하며 오른쪽에 있는 피연산자의 값을

왼쪽 피연산자의 변수에 저장을 한다는 뜻을 가지고 있다.

하지만 반대로 복합 대입 연산자라고 하여 정해진 연산을 수행한 후에 결과를 대입하는

연산자도 있는데

 

 

위에는 복합 대입 연산자를 알아본 코드이다.

 

 

연산자 우선순위

 

여러 연산자가 나왔을 때에는 어떤것을 먼저 연산하는지에 대해서 정하는 연산자 우선순위가 있다.

 

 

위와 같이 우리가 옛날에 수학을 할 때 덧셈 뺄셈 보다 곱셈 나눗셈을 먼저 하는 것 처럼

생각을 하면 되고 또한 곱셈이더라도 괄호 안에 있는 것을 먼저 계산하는 것 처럼

연산자 우선순위라는게 있는데 위와 같이 되어있다고 보면 된다.

순서대로 보면 되는데 논리연산자에 && 와 ||가 있는데 둘 중에서는 &&이 더 우선순위이다.

 

 

 

위의 결과가 -45가 나오게 된 건 우리 수학할 때를 생각하면 쉽다.

뺄셈 보다 곱셈이 우선이니 b와 c 인 10 곱하기 5를 한 후 a인 5를 뺀다.

즉, 5 - 50 = -45 가 되는거다.

그리고 비교 연산자가 논리 연산자 보다 우선순위가 높다 그런데 증감 연산자일 겨웅에는

전위 연산자인지 후위 연산자 인지에 따라서 우선 순위가 변경 될 수는 있다.

 

 

 

위의 결과는 단항 연산자이면서 전위 연산자인 ++이 먼저 연산이 된다.

그렇기 때문에 5였던 a가 6으로 변경 된 후 5를 빼게 되어 결과가 1이 나오게 된다.

 

 

 

단항 연산자이면서 후위 연산자인 ++이 나중에 연산이 된다.

a가 5인 상태에서 먼저 5를 뺀 후에 a++인 (a = a+1) 이 실행이 되기 때문에 결과가 0이 된다

그리고 a의 값이 5인 것은 변함이 없고 연산자의 값에 따라 0이 출력이 된거라서

연산 된 후 출력까지 0이 된 후에 a에 +1 이 되어 a는 5에서 6으로 변경이 된다.

그렇기 때문에 연산 이후 다시 a를 출력을 하면 결과는 6이 출력이 되는거라고 보면 된다.

댓글