03-1 기본 연산자
항과 연산자
연산에 사용하는 기호를 연산자라고 하며, 연산에 사용하는 값을 항이라고 한다.
연산자의 우선순위로는 단항 연산자가 가장 높고 이항, 삼항 연산자 순서이다.
대입 연산자
변수에 값을 대입하는 연산자이다.
대입 연산자는 이항 연산자 중 우선순위가 가장 낮은 연산자이다.
하나의 문장에 여러 연산자가 있을 때 모든 연산을 다 끝낸 후 마지막에 연산 결과를 변수에 대입한다.
오른쪽 변수나 식의 값(숫자, 상수)이 대입되는 왼쪽에는 항상 변수나 상수가 와야 한다.
부호 연산자
특정 양수 값을 음수로 바꾸려면 다음과 같이 대입 연산자( = )를 사용하여 값을 대입해야 한다.
산술 연산자
프로그램에서 산술 연산자는 덧셈( + ) , 뺄셈( - ), 곱셈( * ), 나눗셈( / ), 나머지( % ) 다섯 가지가 있다.
산술 연산자의 우선순위는 일반 수학의 산술 연산과 같다.
증가, 감소 연산자
증가, 감소 연산자는 단항 연산자이다.
++는 항의 값에 1을 더하고, --는 항의 값에서 1일 뺀다.
여기서 ++와 --의 위치에 주의해야 한다.
예제01의 경우 num값이 1 증가한 후에 해당 값을 val 변수에 대입한다.
예제02의 경우 기존 num값을 val 변수에 대입한 후 num값이 1 증가한다.
* --의 경우도 마찬가지이다.
관계 연산자
관계 연산자는 항이 두 개인 이항 연산자이다.
두 개의 항 중 어느 것이 더 큰지, 작은지, 같은지 등의 여부를 검사하므로 비교 연산자라고도 부른다.
관계 연산자의 결과 값은 참(true) 또는 거짓(false)으로 반환된다.
관계 연산자로는 > , < , >= , <= , == , != 가 있다.
첫 번째 항과 같이 코드를 작성해도 값이 잘 나오지만 가독성을 위해 두 번째 항과 같이 코드를 작성하는 것이 더 좋다.
좋은 코드는 가독성이 좋은 코드로, 좋은 프로그래머가 되기 위해 가독성이 좋은 코드를 작성하는 버릇을 들이도록 하자.
논리 연산자
논리 연산자는 주로 관계 연산자와 함께 사용한다.
관계 연산자의 우선순위가 논리 연산자보다 높으므로,
관계 연산자의 결과 값을 기반으로 논리 연산자의 결과 값을 계산한다.
연산자 | 기능 |
논리 곱 && | 두 항이 모두 참인 경우에만 결과 값이 참이다. 그렇지 않을 경우는 거짓이다. |
논리 합 || | 두 항 중 하나의 항만 참이면 결과 값이 참이다. 두 항이 모두 거짓이면 결과 값은 거짓이다. |
부정 ! | 단항 연산자로 참은 거짓으로, 거짓은 참으로 바꾼다. |
논리 연산에서 모든 항이 실행되지 않는 경우 - 단락 회로 평가
논리 곱(&&) 연산은 두 항이 모두 참일 때만 결과 값이 참이 된다.
다시 말해 하나의 항이라도 거짓이면 결과 값이 거짓이 된다.
논리 합(||) 연산은 하나의 항이 참이면 나머지 항과 상관없이 결과 값은 무조건 참이 된다.
그렇기 때문에 논리 곱에서는 앞 항이 거짓이면 뒷 항이 실행되지 않고,
논리 합에서는 앞 항이 참이면 뒷 항이 실행되지 않는다.
위와 같이 논리 곱 연산과 논리 합 연산을 할 때 두 항을 모두 실행하지 않더라도 결과 값을 알 수 있는 경우에,
나머지 항은 실행되지 않는 것을 단락 회로 평가라 한다.
이러한 이유로 프로그램을 만들면서 예상한 실행 결과와 다를 수 있으므로 주의해야 한다.
조건 연산자
조건 연산자는 연산에 필요한 항의 개수가 세 개이기 때문에 삼항 연산자라고 한다.
조건 연산은 주어진 조건식이 참인 경우와 거짓인 경우에 다른 결과 값이 나온다.
조건식이 참이면 결과1, 조건식이 거짓이면 결과2가 선택된다.