자바를 배우면서 반복문을 쓸 일이 참 많았었다.
반복문 중에서 for, while을 많이 썼었지만,
do-while문도 있었는데 사실 프로젝트를 하거나 그 외 코딩테스트 연습을 하는데서도 사용하지는 않았었다.
그렇지만 복습을 하는 중에서 do-while문을 기억해보려했는데
기억이 잘 나지 않았으므로
2번째는 while과 do-while을 비교해보면서 do-while의 개념을 다시 잡아보도록 하겠다.
1. while
while문을 간단하게 생각하면 조건을 만족하는 동안 실행할 코드를 반복하는 것이다.
코드로 간단하게 표현하면
으로 나타낼 수 있는데 이를 이용해서 간단하게 1부터 5까지 출력하는 코드를 작성해보고 결과를 확인해보면
다음과 같이 나타나는 것을 알 수 있다. 저기서 i++과 같이 후위연산식을 같이 작성해주지 않으면 i 값은 1로 유지되기 때문에 1이 계속해서 출력될 것이다. 마치 for문의 조건식(int i = 1; i <= 5; i++)에서 i++이 없는 것처럼 무한 반복이 된다는 소리다.
while은 간단하게 생각해서 while(조건식)이 만족되는 동안 돌아가는 표현문이라고 생각할 수 있다.
2. do-while
그렇다면 while문과 달리 do-while문은 어떤 차이가 있을까?
do-while의 표현식이다.
결론부터 말하자면 기존에 사용하던 반복문인 for문과 while문과 달리 조건식이 처음부터 거짓일지라도 do-while문은 최초에 한번은 무조건 실행이 된다는 것이 큰 차이점이다.
while문에서 사용했던 12345를 출력하는 코드를 do-while문을 사용해서 다시 작성해보면
결론적으로 while문과 같은 결과가 출력이 되게 된다.
그럼 여기서 while문과 차이인 무조건 한번 수행된다는 의미는 무엇일까?
코드를 살짝 바꿔보았다.
최초에 선언한 변수 i가 기존 i = 1로 초기화가 되있고, 조건식은 i가 0일때 실행되도록 코드를 바꿔보았다.
그 결과 1만 출력되는 것을 확인할 수 있는데
결론적으로 조건이 일치하지 않아도 무조건 한번이 실행된다는 것이다.
'Dev > Java' 카테고리의 다른 글
05-1. 다양한 함수(Math.random) (1) | 2023.07.25 |
---|---|
04-2.ArrayCopy(깊은 복사) (0) | 2023.07.17 |
04-1.ArrayCopy (얕은 복사) (0) | 2023.07.17 |
03. continue (0) | 2023.07.12 |
01.Scanner (0) | 2023.07.09 |