단항 연산자(Unary_operator)

2021. 3. 12. 22:49Java/한국어

단항 연산자에는 4가지 종류가 존재하는데 이는 부호 연산자, 부정 연산자, 증가 연산자 감소 연산자이다.

단항 연산자의 종류, 기호, 사용 정의를 다음 표로 살펴보자.

기호 연산자 종류 사용
+,- 부호 연산자 변수의 부호를 바꾼다
! 부정 연산자 참을 거짓으로 거짓을 참으로 바꾼다
++ 증가 연산자 변수에 1을 더하여 변수에 기억시킨다
-- 감소 연산자 변수에 1을 뺸후 변수에 기억

이제 각각의 연산자의 활용을 보도록 하자.

먼저, 부호 연산자와 부정 연산자이다. 이때 while을 쓴 코드가 있지만, 지금은 while은 단순히 안의 코드를 반복해서 실행 한다는 것 정도만 알도록 하자.

while (a <= 10) {
	int b = 1;
	System.out.println("반대로 바뀐 b:" + -b);
	System.out.println("원래는 b:" + b);
	System.out.printf("\n");
			
	while (c >= 5) 
	{
		boolean d = true;
		System.out.println("반대 값은:" + !d);
		System.out.println("원래는:" + d);
		System.out.printf("\n");
		c--; //c 감소 
	}
			a++; //a 증가
}

이번에는 증가, 감소 연산자의 활용이다. 증가, 감소 연산자를 사용할때 주의 해야할 점은 부호 연산자의 위치이다. 부호 연산자가 앞에 있느냐 아니면 뒤에 있느냐에 따라 식의 과정이 바뀐다. 아래 예시 역시 for 문이 있는데, 지금은 while문 처럼 안의 식을 반복해서 실행된다는 것 정도만 알도록 하자.

/*
* a++, ++a 차이
*/
int e = 0;
		
		
for (int i = 0; i<=3; i++) {
	System.out.println(e);
	System.out.println(++e); // e증가후 출력
	System.out.println(e++); // 출력후 증가
	System.out.println(e);
}
		
//++a, a++차이
int i = 5;
i++;					// i= i+1과 같다
System.out.println(i);
i = 5;					// 비교를 위해 다시 5로 설정
++i;
System.out.println(i);
int e = 0;
				
for (int i1 = 0; i1<=3; i1++) {
	System.out.println(e);
	System.out.println(++e); // e증가후 출력
	System.out.println(e++); // 출력후 증가
	System.out.println(e);
}

int k = 5;
int j = 0;
j = k++;	//j = k; k = k+1
		
System.out.println("j+k++; 실행후, k = " + k + ",j=" + j);
		
k = 5;	//비교를 위한 초기화
j = 0;
j = ++k;	// k = k+1; j = 1
		
System.out.println("j=++k; 실행 후, k= "+ k +",j=" +j);
		
int a1 = 5, b = 5;
System.out.println(a1++); //print 먼저
System.out.println(++b); //print 나중
System.out.println("a = " + a1 + ",b = " +j);

위의 예시와 같이 증가, 감소 연산자가 앞에 붙으면 먼저 수를 증가 또는 감소를 시키고, 출력을 한다. 반대로 증감 연산자가 뒤에 있다면, 값을 먼저 출력한수 증가 또는 감소를 한다. 따라서 이후에 다시 그 변수를 출력을 할 경우에 증가한 값이 출력이 된다.

'Java > 한국어' 카테고리의 다른 글

비트 연산자(bit operator)  (0) 2021.03.13
논리 연산자  (0) 2021.03.01
관계 연산자  (0) 2021.02.28
부호 연산자  (0) 2021.02.26
오버 플로우 (overflow)  (0) 2021.02.26