연산자(Operator)
+, -, *, /, %와 같이 계산을 수행하는 기호를 연산자라고 한다.
연산자의 종류
- 산술 연산자:
+, -, *, /, % - 증감(증가 및 감소) 연산자:
++, -- - 비교 연산자:
==, !=, >, <, >=, <= - 논리 연산자:
&&(AND), ||(OR), !(NOT) - 대입 연산자:
=, +=, -=, *=, /=, %= - 삼항 연산자:
? :
연산자와 피연산자
3 + 4 a + b
- 연산자(operator): 연산 기호 - 예) +, -
- 피연산자(operand): 연산 기호 - 예) 3, 4, a, b
나눗셈 주의
- 밑에 예시에서 2.5가 나오게 할려면 형변환을 사용해야함
Java
- 10 / 0 과 같이 0으로 나눌 수가 없다. (수학에서 허용하지 않음)
자바의 문자열 더하기
Java
계산과정
Java
연산자 우선순위 암기법
- 자바는 연산자 우선순위가 있다. () 괄호가 우선순위가 가장 높고, 마지막의 대입 연산자 = 가 가장 우선순위가 가장 낮다.
- 괄호()
- 단항 연산자 (예:
++, --, !, ~, new, (type)) - 산술 연산자(
*, /, % 우선, 그 다음에 +, -) - Shift 연산자(
<<, >>, >>>) - 비교 연산자(
<, <=, >, >=, instanceof) - 등식 연산자(
==, !=) - 비트 연산자(
&, ^, |) - 논리 연산자(
&&, ||) - 삼항 연산자(
? :) - 대입 연산자(
=, +=, -=, *=, /=, %= 등등)
- 우선순위를 잘 이해하는 방법
- 상식선에서 우선순위를 생각하자
- 예) int sum = 1 * 2 * 3
- 당연히 + 보다
*이 우선순위가 높다. - 산순연산자가 전부 실행되 이유 = 대입이 된다.
- 당연히 + 보다
- 애매하면 괄호()를 사용하자
- 같은 식이여도 ()를 사용하여 가시성을 높힌다.
증감연산자
- 변수 값이 증가되는 과정 
따라서 a = a + 1 경우를 ++a 로 치환할 수 있다.
전위, 후희 증감연산자
증감 연산자는 피연산자 앞에 두거나 뒤에 울 수 있으며, 연산자의 위치에 따라 연산이 수행되는 시점이 달라진다.
-
++a : 증감 연산자들 피연산자 앞에 둘 수 있다. 이것을 앞에 있다고 전위(prefix) 증감 연산자라 한다.
-
a++ : 증감 연산자들 피연산자 뒤에 둘 수 있다. 이것을 앞에 있다고 후위(prefix) 증감 연산자라 한다.
-
전위 증감 연산자 수행 과정 
-
후위 증감 연산자 수행 과정 
-
전위 증감 연산자 코드 동작 과정
Java
- 후위 증감 연산자 코드 동작 과정
Java
비교연산자
-
비교 연산자는 두 값을 비교하는 데 사용한다. 비교 연산자는 주로 조건문과 함께 사용한다.
-
==: 동등성 (equal to) -
!=: 불일치 (not equal to) -
>: 크다 (equal to) -
<: 동등성 (equal to) -
>=: 동등성 (equal to) -
<=: 작거나 같다 (equal to)
비교 연산자를 사용하면 참(true) 또는 거짓(false)라는 결과가 나온다. 참은 boolean 형을 사용한다.
-
문자열을 비교할 때는
==이 아니라 .equals() 메서드를 사용해야 한다. -
== 을 사용하면 성공할 때도 있지만 실패할 때도 생기기 때문이다.
-
문자열 비교 예제
Java
논리 연산자
&&: 두 피연산자가 모두 참이여야 true를 반환한다. 둘 중 하나라도 거짓이면 false를 반환한다.
||: 두 피연산자 중 하나라도 참이면 true를 반환한다. 둘 다 모두 거짓이면 false를 반환한다.
!: 피연산자의 논리적 부정을 반환한다. 참이면 거짓을, 거짓이면 참을 반환한다.
- 주의사항, !a !b는 각각의 논리적 부정을 반환한다.
Java