연산자란 특정한 작업을 하기 위해서 사용하는 기호를 의미한다.
작업의 종류에 따라서 대입 연산자, 산술 연산자, 비교 연산자, 논리 연산자 등이 있다.
대입 연산자는 a = 1 과 같은 것이다.
산술 연산자는 수학적인 계산에 사용되는 연산자다. ex) +,-,*,/,%
+연산자는 숫자와 숫자를 더할 때도 사용되지만 문자열과 문자열을 합칠 때도 사용될 수 있다.
a/b를 했을 때 3.333333...이 나옴
그러나 정수와 정수를 나눴기 때문에 답은 3이 나옴.
c/d를 했을 때 변수 c와 d는 실수형 타입 변수이기 때문에
3.33333...이 나온다.
그럼 정수에 실수를 나눴을 때는 어떻게 될까?
a/d를 했을 때 형변환을 하려면 더 작은 범위의 데이터 타입을 더 큰 범위의 데이터 타입으로 바꾸게 된다.
따라서 int 형의 변수 값을 float 형의 값으로 형 변환하게 된다.
10.0 / 3.0 이 되므로 결과는 3.333333이 나오게 된다.
단항 연산자.
1+2와 같은 경우 좌항인 1과 우항인 2를 더해주는 작업을 해주고 있다.
두 항을 연결 해주기 때문에 이항연산자라고 한다.
단항 연산자는 하나의 항을 대상으로 연산이 이루어지는 연산자이다.
++의 뜻은 +1의 뜻과 같다.
--의 뜻은 -1의 뜻과 같다.
위 코드에서 ++i와 i++의 차이는
++i는 ++i가 있는 맥락에서 +1을 더한 값이 바로 저장되어 출력된다는 것이다.
그러나 i++의 경우 값을 출력을 하면 +1을 더한 값이 출력되지 않지만 바로 다음 문장에서 i의 값은 +1을 더한 값이 된다.
연산의 우선 순위