본문 바로가기

콤퓨타/Programming) 왕초보 자바

(번외) do while 연습 (feat. 증감연산자)

 

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 거짓, 루프 종료  

 

 

하나하나 뜯어보면 알겠는데, 

이걸 어케 힐끔 보고 누가 어디에서 어떻게 반영되는지 어케 앎.....

초보는 그저 웁니다