산술 연산자
사칙연산에 해당하는 더하기(+), 빼기(-), 곱하기(*), 나누기(/), 연산자가 있으며, 나머지(%)연산자가 추가로 제공된다.
자바에서는 변수에 값을 할당할 때 연산자인 '=' 연산자를 사용하는데, 산술 연산에서는 코드의 양을 줄일 목적으로 복합 할당 연산자를 것을 사용하기도 한다.
score1 += score2; // score1 = score1 + score2;
score1 -= score2; // score1 = score1 - score2;
score1 *= score2; // score1 = score1 * score2;
score1 /= score2; // score1 = score1 / score2;
score1 %= score2; // score1 = score1 % score2;
증감 연산자
증감 연산자는 정수 타입의 변수 앞이나 뒤에 붙어서 변수의 값을 1 증가시키거나 1감소시킬 때 사용한다. 증감 연산자가 변수 앞에 있으면 전위 연산자, 뒤에 있으면 후위 연산자라고 한다. 둘다 변수 값을 1 증가 시키거나 감소시킨다는 점은 같지만 '언제' 증가/감소 시키는지 차이가 있다.
증가 연산자
public class OperatorTest {
public static void main(String[] args) {
int score = 10;
System.out.println('score값: ' + score); // 10
++score;
System.out.println('score값: ' + score); // 11
score++;
System.out.println('score값: ' + score); // 12
}
}
public class OperatorTest {
public static void main(String[] args) {
int score = 10;
System.out.println('score값: ' + ++score); // 11
System.out.println('score값: ' + score++); // 11
System.out.println('score값: ' + score); // 12
}
}
전위 연산자는 값을 먼저 증가 시킨 후 변수의 값을 사용하고, 후위연산자는 변수의 값을 사용하고 난 후 값을 증가 시킨다. 그렇기 때문에 위와 같은 결과를 확인할 수 있다.
감소 연산자
public class OperatorTest {
public static void main(String[] args) {
int score = 10;
System.out.println('score값: ' + --score); // 9
System.out.println('score값: ' + score--); // 9
System.out.println('score값: ' + score); // 8
}
}
비교 연산자
비교 연산자는 특정 조건의 결과가 참(true)인지, 거짓(false)인지 판단할 때 사용한다. 비교 연산자의 종류와 의미는 다음과 같다.
연산자 |
사용 예 |
의미 |
> |
score > avg |
score가 avg보다 크다 |
>= |
score >= avg |
score가 avg보다 크거나 같다 |
< |
score < avg |
score가 avg보다 작다 |
<= |
score <= avg |
score가 avg보다 작거나 같다 |
== |
score == avg |
score가 avg와 같다 |
!= |
score != avg |
score가 avg와 다르다 |
논리 연산자
논리 연산자는 두 개 이상의 비교 연산 결과를 연결할 때 사용한다. 논리 연산자는 크게 AND 와 OR가 있다.
AND 연산자
AND(&) 연산은 연산자를 중김으로 양쪽의 조건이 모두 참일 때, 전체 결과를 참으로 처리한다.
char gender = 'M';
int score = 87;
System.out.println(gender == 'M' & score >= 80); // true
& 연산자 하나만 사용하면 양쪽코드를 모두 실행하지만 && 연산자를 사용하면 앞에 있는 코드가 false인 경우 뒤에 코드를 실행하지 않는다. 그렇기 떄문에 && 연산 속도가 더 빠르다.
&& 연산자를 사용하면 프로그램의 연산 처리 속도를 향상시킬 수 있다.
OR 연산자
OR( | ) 연산은 AND(&)연산과 달리 양쪽의 조건 중에 하나만 참(true) 이면 전체 연산 결과를 참으로 처리한다.
OR 연산도 AND 연산과 마찬가지로 '|' 연산자를 연속으로 두 개 사용하면 연산 처리 속도를 빠르게 할 수 있다.
조건 연산자
조건 연산자는 특정 조건이 참( true)인지, 거짓(false)인지에 따라 결과값이 달라지는 연산자로서, 삼항 연산자로고도 한다.
// 조건식 ? 값1 : 값2
조건식: 실행 결과가 true나 flase의 결과가 나오는 연산식
값1: 조건식 결과가 true일 때 처리되는 값
값2: 조건식 결과가 false일 때 처리되는 값