while 문을 배우면서
prefix , postfix 함께 배웠는데 오늘 굳이
--count 와 count--
를 구분해서 알려주었는데
수업을 띄엄띄엄 듣다보니.. 사실 더 힘들다. ㅠㅠ 뭐가됐든 꾸주니가 최고인데 하. 매번 새로운거 하는 느낌들어서 죽을맛임.
여튼! 전위연산, 후위연산 돌려가며 출력 ㄱ
public class App {
public static void main(String[] args) {
int count = 10;
while (count > 0) {
System.out.printf("count is %d\n", count);
count--;
//--count;
}
}
}
놀랍게도
후위연산자와 전위연산자가 들어갔을때 출력에 아무런 변화가 없엇따.
그럼 선생님 굳이 이걸 왜 시킨거지?

개발자 인간들이 쓸데 없는걸 시키지 않을텐데. 이걸 왜시켰지...
그래서 코드를 좀 뜯어보니
일단
int count = 10; // 세팅값. 시작값이 10임. 바꿀 수 없음
while (count> 0) { // 카운트 값이 0을 초과하는 한 일단 프로그램을 돌아간다는 말임
System.out.printf("count is %d\n", count); // %d 에, count 값이 들어간다는건데 이건 일단 루프에서의 맨 첫 라운드에서는 10임.
count --; // 이 코드 뒤부터는 count 값이 1씩 감소한다. 그럼 다시 맨 처음으로 돌아가서 count 에는 9, count 출력에는 9 나오게 되는거임.
근데 사실 이게 잘 이해가 안되었어서 챗지피티에게 물어봤고 챗지피티는 선생님의 의도와 함께 정답을 알려줌.
1) 해당 내용은 초보자에게 헷갈리기 때문에 일부러 강조차 간단해 보여도 함께 walk through 한거고
2) 전위 연산 (--conunt) , 후위연산 (count--) 는 개념이 다르므로 여러번 연습하면서 그 개념을 익혀야 한다고..
그래서 문제를 좀 달랬더니
아래 코드 출력값을 달란다.
public class App {
public static void main(String[] args) {
int num = 3;
while (num-- > 0) {
System.out.printf("A: num = %d\n", num);
}
}
}


인간에게 감동먹은 챗지피티 또 다른 문제를 요청하자 아래 코드 출력값을 말하라고 종용
public class App {
public static void main(String[] args) {
int x = 4;
while (x-- > 1) {
System.out.printf("🔥 x = %d\n", x);
}
}
}
public class App {
public static void main(String[] args) {
int y = 4;
while (--y > 1) {
System.out.printf("⚡ y = %d\n", y);
}
}
}
나는 정답을 이야기 하고 오늘 세션 종료.

느낀점:
1) 초보 수업이라 쉬운 내용처럼 보이기 때문에 꼭 챗지피티를 활용해서 문제를 다양하게 풀어보고 문제풀이도 꼼꼼하게 해보자.
2) 머리로 풀어서 이해 해 보고, 손으로 냅다 따라쓰는 과정을 연거푸 거쳐야지된단다.
그럼 오늘도 해피코딩...
'콤퓨타 > Programming) 왕초보 자바' 카테고리의 다른 글
| 14. (Loops and Conditions) Boolean + Equality (4) | 2025.07.31 |
|---|---|
| 13. (Loops and Conditions) For (0) | 2025.07.22 |
| 11. (Loops and Conditions) Postfix and Prefix Expressions (0) | 2025.07.03 |
| (번외) 따옴표와 쌍따옴표 (0) | 2025.07.01 |
| 10. (Loops and Conditions) Increment and Decrement (6) | 2025.06.29 |