2swan

연산자(1) 본문

Programming/Java

연산자(1)

2swan 2022. 3. 3. 01:51

○ 항과 연산자

항(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