반응형
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
반응형
'[Java] > [Java]' 카테고리의 다른 글
[Java] 자바 조건문 switch_case (0) | 2021.06.13 |
---|---|
[Java] 자바 이항 연산자 (0) | 2021.06.13 |
[Java] 자바 논리 연산자 (and[&&], or[||]) (0) | 2021.06.13 |
[Java] 자바 조건문 (if, else if, else 구문) (0) | 2021.06.13 |
[Java] 자바 비교 연산자 ( ==, <=, =>, !=, <, >) (0) | 2021.06.13 |