자바(Java) 프로그래밍, 연산자 이야기 Part. 1 기본 연산자
- 개발 스터디/Java
- 2024. 4. 7.
반응형
728x90
반응형
기본 연산자
1. 항과 연산자
연산자 | 설 명 | 예시 |
단항 연산자 | 항이 한 개인 연산자 | ++num |
이항 연산자 | 항이 두 개인 연산자 | num1 + num2; |
삼항 연산자 | 항이 세 개인 연산자 | (3>2) ? 1: 0; |
2. 대입 연산자
int year = 2024;
프로그래밍 언어에서 = 는 대입 연산자 라고 한다.
수학에서 쓰이는 =는 '같다' 라는 의미이지만
프로그래밍 언어에서는 오른쪽의 값을 왼쪽의 변수명에 저장한다 라는
의미로 생각하면 된다.
3. 부호 연산자
부 호 | 기 능 | 예시 |
+ | 변수나 상수 값을 양수로 만든다 | +10 |
- | 변수나 상수 값을 음수로 만든다 | -10 |
4. 산술 연산자
연산자 | 기 능 | 예시 |
+ : 더하기 | 두 항을 더한다 | 3 + 2 |
- : 빼기 | 앞 항에서 뒤 항을 뺀다 | 3 - 2 |
* : 곱하기 | 두 항을 곱한다 | 3 * 2 |
/ : 몫 | 앞 항에서 뒤 항을 나눈 몫을 구한다 | 3 / 2 |
% : 나머지 | 앞 항에서 뒤 항을 나눈 나머지를 구한다 | 3 % 2 |
5. 증가, 감소 연산자
연산자 | 기 능 | 예시 |
++ | 항의 값에 1을 다한다 | val = ++num; // num 값에 1을 더한 값을 val에 대입 val = num++; // val 변수에 num을 대입한 후 num 값 1 증가 |
-- | 항의 값에 1을 뺀다 | val = --num; // num 값에서 1을 뺀 후 val에 대입 val = num--; // val 변수에 num을 대입한 수 num 값 1 감소 |
증가, 감소 연산자는 단항 연산자 이다.
연산자를 피 연산자 앞에 쓰는 경우와
뒤에쓰는 경우 그 결과값이 전혀 다르므로 주의 해야한다.
5 - 1 증가, 감소 연산자의 위치
int value = 10;
int num = ++value; //num에 11이 대입됨
int value = 10;
int num = value++; //num 값은 10이 대입됨
6. 관계 연산자
연산자 | 기 능 | 예 시 |
> | 왼쪽 항이 크면 true, 아니면 false 반환 | num > 5; |
< | 왼쪽 항이 작으면 true, 아니면 false 반환 | num < 5; |
>= | 왼쪽 항이 오른쪽 항보다 크거나 같으면 true, 아니면 false 반환 | num >= 5; |
<= | 왼쪽 항이 오른쪽 항보다 작거나 같으면 true, 아니면 false 반환 | num <= 5; |
== | 두 항이 같으면 true, 아니면 false 반환 | num == 5; |
!= | 두 항이 다르면 true, 아니면 false 반환 | num != 5; |
7. 논리 연산자
연산자 | 기 능 | 예 시 |
$$(논리 곱) | 두 항이 모두 참인 경우에만 참 | boolean val = (5>3) && (5 > 2); |
||(논리 합) | 두 항중 하나의 항만 참이면 참 | boolean val = (5>3) || (5 < 2); |
!(부정) | 단항 연산자. 참인 경우 거짓으로바꾸고 거짓인 경우 참으로 바꾼다. | boolean val = !(5>3); |
7-1. 모든 항이 실행되지 않는 경우 - 단락 회로 평가
package operator;
public class OperatorEx3 {
public static void main(String[] args) {
int num1 = 10;
int i =2;
boolean value = ((num1 = num1 + 10) < 10) && ((i = i + 2) < 10);
System.out.println(value);
System.out.println(num1);
System.out.println(i);
value = ((num1 = num1 + 10) > 10) || ((i = i + 2) < 10);
System.out.println(value);
System.out.println(num1);
System.out.println(i);
}
}
출력 결과
value = ((num1 = num1 + 10) < 10) && ((i = i + 2) < 10);
위 코드에서 왼쪽 항이 논리 곱으로 에서 거짓이기 때문에 false 출력되고
앞 항만 실행되어 20출력, 뒷 항은 실행 되지 않아 2 출력
value = ((num1 = num1 + 10) > 10) || ((i = i + 2) < 10);
위 코드에서 왼쪽 항이 논리 합에서 앞 항이 참이라 true 출력
앞 항만 실행되어 30출력, 뒷 항은 실행 되지 않아 2 출력
8. 복합 대입 연산자
연산자 | 기 능 | 예 시 |
+= | 두 항의 값을 더해서 왼쪽 항에 대입 | num1+=2; num1 = num1 + 2;와 같은 의미 |
-= | 왼쪽 항에서 오른쪽 항을 뺀 후 값은 왼쪽 항에 대입 | num1-=2; num1 = num1 - 2;와 같은 의미 |
*= | 두 항의 값을 곱해서 왼쪽 항에 대입 | num1*=2; num1 = num1 * 2;와 같은 의미 |
/= | 왼쪽 항을 오른쪽 항으로 나누고 몫에 해당하는 값을 왼쪽 항에 대입 | num1/=2; num1 = num1 / 2;와 같은 의미 |
%= | 왼쪽 항을 오른쪽 항으로 나누고 나머지에 해당하는 값을 왼쪽 항에 대입 | num1%=2; num1 = num1 % 2;와 같은 의미 |
연산자 | 기 능 | 예 시 |
<<= | 비트를 왼쪽으로 이동하고 그 값을 왼쪽 항에 대입 | num1 <<= 2; num1 = num1 << 2;와 같은 의미 |
>>= | 비트를 오른쪽으로 이동하고 그 값을 왼쪽항에 대입 *왼쪽에 채워지는 비트 값은 부호 비트와 동일 |
num1 >>= 2; num1 = num1 2>>;와 같은 의미 |
>>>= | 비트를 오른쪽으로 이동하고 그 값을 왼쪽항에 대입 *왼쪽에 채워지는 비트 값은 0 |
num1 >>>= 2; num1 = num1 >>> 2;와 같은 의미 |
&= | 두 항의 & 비트 연산 후 그 값을 왼쪽 항에 대입 | num1 &= 2; num1 = num1 & 2;와 같은 의미 |
|= | 두 항의 | 비트 연산 후 그 값을 왼쪽 항에 대입 | num1 |= 2; num1 = num1 | 2;와 같은 의미 |
^= | 두 항의 ^ 비트 연산 후 그 값을 왼쪽 항에 대입 | num1 ^= 2; num1 = num1 ^ 2;와 같은 의미 |
9. 조건 연산자
연산자 | 기 능 | 예 시 |
조건식 ? 결과1 : 결과2; | 조건식이 참이면ㄱ결과1, 거짓이면 결과2 선택 | int num = (5>3) ? 10:20; |
728x90
반응형
'개발 스터디 > Java' 카테고리의 다른 글
자바(Java) 프로그래밍, 조건문, if문, if else문, if else if문 (1) | 2024.04.07 |
---|---|
자바(Java) 프로그래밍, 연산자 이야기 Part. 2 비트 연산자 (1) | 2024.04.07 |
자바 프로그래밍, 형 변환 이야기 (0) | 2024.04.07 |
자바 JAVA 상수와 리터럴 feat. 변수 선언 (0) | 2024.04.06 |
새로운 영역으로의 도전, 자바(Java) 환경 설정 (0) | 2024.04.04 |