do while에서 헷갈렸던 이유는 증감연산자 (전위, 후위 연산) 덕분이다.
| count ++ | 후위연산 | 현재 실행중인 문장에서는 기존값이 그대로 사용됨, 그 다음 실행된 문장부터 증가된 값이 반영 |
| ++ count | 전위연산 | 먼저 1 증가 -> 바로 증가된 값 사용 |
이게 하나의 개념으로서는 이해되지만, 이걸 문장에 넣어놓고 갖고놀 수 있는 정도로는 편해지지 않았다.
그리고 일단, 후위연산을 가지고 연습하되,
후위연산이 어디에 배치되느냐에 따라서도 결과값이 달라질 수 있음을 do while 연습을 통해 확인해보겠따.
public class practice_01 {
public static void main(String[] args) {
int count = 0 ;
do {
System.out.println("출력번호 : " + count);
} while (count ++ <4);
}
}
| 번호 | 코드 | 의미 | 출력값 |
| 1 | int count = 0; | 우선 0으로 시작 | |
| do { System.out.println("출력번호 : " + count); } | 출력은 0 | 0 | |
| while(count++ <4); | 현재 단에서는 0<4 참이며, 다음단부터 count = 1 | ||
| 2 | int count = 0; | 1로 시작 | |
| do { System.out.println("출력번호 : " + count); } | 출력은 1 | 1 | |
| while(count++ <4); | 현재 단에서는 1<4 참이며, 다음단부터 count = 2 | ||
| 3 | int count = 0; | 2로 시작 | |
| do { System.out.println("출력번호 : " + count); } | 출력은 2 | 2 | |
| while(count++ <4); | 현재 단에서는 2<4 참이며, 다음단부터 count = 3 | ||
| 4 | int count = 0; | 3으로 시작 | |
| do { System.out.println("출력번호 : " + count); } | 출력은 3 | 3 | |
| while(count++ <4); | 현재 단에서는 3<4 참이며, 다음단부터 count = 4 | ||
| 5 | int count = 0; | 4로 시작 | |
| do { System.out.println("출력번호 : " + count); } | 출력은 4 | 4 | |
| while(count++ <4); | 현재 단에서는 4<4 거짓, 루프 종료 |
public class practice_02 {
public static void main(String[] args) {
int count = 0;
do {
System.out.println("가즈아 " + count);
count++;
} while (count < 5);
}
}
| 번호 | 코드 | 의미 | 출력값 |
| 1 | int count = 0; | 우선 0으로 시작 | |
| do { System.out.println("출력번호 : " + count); } | 출력은 0 | 0 | |
| count++;} | count 1증가 (count = 1), 이 다음 코드부터 반영 | ||
| while (count <5); }} | 1<5 참 | ||
| 2 | int count = 0; | 1로 시작 | |
| do { System.out.println("출력번호 : " + count); } | 출력은 1 | 1 | |
| count++;} | count 1증가 (count = 2), 이 다음 코드부터 반영 | ||
| while (count <5); }} | 2<5 참 | ||
| 3 | int count = 0; | 2로 시작 | |
| do { System.out.println("출력번호 : " + count); } | 출력은 2 | 2 | |
| count++;} | count 1증가 (count = 3), 이 다음 코드부터 반영 | ||
| while (count <5); }} | 3<5 참 | ||
| 4 | int count = 0; | 3으로 시작 | |
| do { System.out.println("출력번호 : " + count); } | 출력은 3 | 3 | |
| count++;} | count 1증가 (count = 4), 이 다음 코드부터 반영 | ||
| while (count <5); }} | 4<5 참 | ||
| 5 | int count = 0; | 4로 시작 | |
| do { System.out.println("출력번호 : " + count); } | 출력은 4 | 4 | |
| count++;} | count 1증가 (count = 5), 이 다음 코드부터 반영 | ||
| while (count <5); }} | 5<5 거짓, 루프 종료 |
하나하나 뜯어보면 알겠는데,
이걸 어케 힐끔 보고 누가 어디에서 어떻게 반영되는지 어케 앎.....
초보는 그저 웁니다
'콤퓨타 > Programming) 왕초보 자바' 카테고리의 다른 글
| 27. (Loops and Conditions) Variable Scope (6) | 2025.08.14 |
|---|---|
| 26. (Loops and Conditions) Not - Not equal Do While Loop (1) | 2025.08.14 |
| 25. (Loops and Conditions) Do While Loop (1) | 2025.08.11 |
| 24. (Loops and Conditions) Checking Passwords (실패코드 포함) (7) | 2025.08.11 |
| 23. (Loops and Conditions) Break (3) | 2025.08.10 |