반응형
package unary_operation;

public class UnaryOperation {

	public static void main(String[] args) {
		
		int x = 10;
		int y = 10;
		int z = 0;
		
		System.out.println("-----------------");
		x++; 
		++x;
		System.out.println("x = "+x); // 12
		
		System.out.println("-----------------");
		y--; 
		--y;
		System.out.println("y = "+y); // 8
		
		System.out.println("-----------------");
		z = x++; 
		System.out.println("z = "+z); // 12
		System.out.println("x = "+x); // 13

		System.out.println("-----------------");
		z = ++x; 
		System.out.println("z = "+z); // 14
		System.out.println("x = "+x); // 14
		
		System.out.println("-----------------");
		z = ++x + y++ ; 
		System.out.println("x = "+x); // 15
		System.out.println("y = "+y); // 9
		System.out.println("z = "+z); // 23

	}

}

 

단항연산자란 항이 1개라는 의미이죠 여기서 x++ , ++x 와 같은 걸 의미합니다.

 

여기서 주의할 점이 있는데 x++란 ++x는 비슷하지만 다릅니다. x = x +1 처럼 1을 더하는 과정입니다만

z = ++x + y++ 에서 다른 점이 나옵니다. 

 

32번 Line에서 x = 14 , y = 8 입니다.

z = (++x)[15] + y[8] 이여서 z값은 23이 나오고 x의 경우는 15가 됩니다. 그리고 y의 경우는 

아까 z를 만드는 연산식에서 y++일 때 y + (++x) 이런식으로 계산 되는 거지만 결국엔 ++가 붙어있기 때문에

y의 값은 9가 됩니다.

 

 

 

https://github.com/SungJLee/My_Java_World.git

 

SungJLee/My_Java_World

Contribute to SungJLee/My_Java_World development by creating an account on GitHub.

github.com

 

반응형