자바(Java) 프로그래밍, 연산자 이야기 Part. 1 기본 연산자

반응형
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
반응형

댓글

Designed by JB FACTORY