2swan
연산자(1) 본문
○ 항과 연산자
항(operand) : 연산에 사용되는 값
연산자(operator) : 항을 이용하여 연산하는 기호
항의 개수에 따른 연산자 구분
연산자 | 설명 | 연산 예 |
단항 연산자 | 항이 한 개인 연산자 | ++num |
이항 연산자 | 항이 두 개인 연산자 | num1 + num2; |
삼항 연산자 | 항이 세 개인 연산자 | (5 > 3)? 1 : 0; |
○ 대입 연산자
변수에 값을 대입 하는 연산자
연산의 결과를 변수에 대입
우선 순위가 가장 낮은 연산자
왼쪽 변수(lvalue)에 오른쪽 변수(값) (rvalue)를 대입
int age = 24 // 나이를 의미하는 age 변수에 값 24를 대입함
totalScore = mathScore + engScore; // ① mathScore 값과 영어 점수 engScore 값을 더하여
// ② 총점을 의미하는 totalScore 변수에 수학 점수에 대입함
○ 부호 연산자
단항 연산자
양수/음수의 표현, 값의 부호를 변경
연산자 | 기능 | 연산 예 |
+ | 변수나 상수 값을 양수로 만든다 | +3 |
- | 변수나 상수 값을 음수로 만든다 | -3 |
변수에 +, - 를 사용한다고 해서 변수의 값이 변하는 것은 아니다
변수의 값을 변경하려면 대입연산자를 사용해야 한다
○ 산술 연산자
사칙연산에 사용되는 연산자
연산자 | 기능 | 연산 예 |
+ | 두 항을 더한다 | 5 + 3 |
- | 앞에 있는 항에서 뒤에 있는 항을 뺀다 | 5 - 3 |
* | 두 항을 곱한다 | 5 *3 |
/ | 앞에 있는 항에서 뒤에 있는 항을 나누어 몫을 구한다 | 5 / 3 |
% | 앞에 있는 항에서 뒤에 있는 항을 나누어 나머지를 구한다 | 5 % 3 |
%는 나머지를 구하는 연산자
=>숫자 n의 나머지는 0 ~ n-1 범위의 수
=>특정 범위 안의 수를 구할 때 종종 사용
○ 증가 감소 연산자
단항 연산자
1만큼 더하거나 1만큼 뺄 때 사용하는 연산자
항의 앞/뒤 위치에 따라 연산의 결과가 달라짐에 유의
연산자 | 기능 | 연산 예 | |
++ | 항의 값에 1을 더한다 | val = ++num; // 먼저 num 값이 1 증가한 후 val 변수에 대입 val = num++; // val 변수에 기존 num 값을 먼저 대입한 후 num 값 1증가 |
|
-- | 항의 값에 1을 더한다 | val = --num // 먼저 num 값이 1감소한 후 val 변수에 대입 val = num-- // val변수에 기존 num 값을 먼저 대입한 후 num 값 1감소 |
○ 관계 연산자
이항 연산자
연산의 결과가 true(참), false(거짓)으로 반환 됨
연산자 | 기능 | 연산 예 | |||
> | 왼쪽 항이 크면 참을, 아니면 거짓을 반환 | num > 3; | |||
< | 왼쪽 항이 작으면 참, 아니면 거짓을 반환 | num < 3; | |||
>= | 왼쪽 항이 오른쪽 항보다 크거나 같으면 참, 아니면 거짓을 반환 | num >= 3; | |||
<= | 왼쪽 항이 오른쪽 항보다 작거나 같으면 참, 아니면 거짓을 반환 | num <= 3; | |||
== | 두 개 항의 값이 같으면 참, 아니면 거짓을 반환 | num == 3; | |||
!= | 두 개 항이 다르면 참, 아니면 거짓을 반환 | num != 3; |
○ 논리 연산자
관계 연산자와 혼합하여 많이 사용된다
연산의 결과가 true(참), false(거짓)으로 반환된다
연산자 | 기능 | 예시 | ||
&& (논리 곱) |
두 항이 모두 참인 경우에만 결과 값이 참이고, 그렇지 않은 경우는 거짓 | booleanval = (5 > 3) && (5 > 2); |
||
|| (논리 합) |
두 항 중 하나의 항만 참이면 결과 값은 참이고, 두 항이 모두 거짓이면 결과 값은 거짓 | booleanval = (5 > 3) || (5 > 2); |
||
! (부정) |
단항 연산자이다. 참인 경우는 거짓으로 바꾸고, 거짓인 경우는 참으로 바꾼다 | booleanval = !(5 > 3) |
○ 단락 회로 평가 (short circuit evaluation)
논리 곱(&&)은 두항이 모두 true 일 때만 결과가 true
=>앞의 항이 false 이면 뒤 항의 결과를 평가하지 않아도 false 이다
논리 합(||)은 두 항이 모두 false 일 때만 결과가 false
=>앞의 항이 true 이면 뒤 항의 결과를 평가하지 않아도 true 이다
'Programming > Java' 카테고리의 다른 글
Generic 사용 예제 (0) | 2023.12.12 |
---|---|
if, Switch문 예제 (1) | 2023.12.01 |
변수와 자료(3) (0) | 2022.03.03 |
변수와 자료(2) (0) | 2022.03.01 |
변수와 자료(1) (0) | 2022.03.01 |