JAVA

for문과 while문의 사용법

signal시노 2024. 7. 4. 11:26

자바에는 다양한 반복문이 있지만 가장 많이 사용하는 것이 for문과 while문 일 것이다.

for문 이전에 while문이 있었다.

 

 

모든 for문은 while문으로 대체될 수 있고 그 반대도 마찬가지이다.

그렇다면 while문이 존재했을 때 왜 for문이 나타났을까?

 

 

int i = 0 ;

while (i < 10 ) { }

이 while문은 몇 바퀴를 돌 것인가?

모른다.

구현부에서 i가 어떻게 될 것인지 모르기 때문이다.

물론 구현부를 들여다보면 알 수 있을 것이다.

그러나 개발자 입장에서 코드를 본다면 알아내는데 꽤 불편할 것이다.

 

 

int i = 0;

for (int i = 0; i < 10; i++) { }

구현부에서 i를 건드리지만 않는다면, 10바퀴를 돈다는 것을 한눈에 알 수 있다.

 

그렇다면 어떨 때 for문을 쓰고 while문을 써야 할까?

 

요구하는 것이 정해진 횟수를 갖는다면 for문을 써야 할 것이다.

ex)

" 2학년 5반의 성적을 뽑아주세요"

" 네.."

' 2학년 5반은 15명이니깐 15번만 for문으로 돌리자..'

for (int i = 0; i < 15; i++) { }

 

물론 while문으로 짤 수 있지만 혼자 개발하는 것이 아니라 협업을 이루기 때문에 한눈에 알아볼 수 있게(몇 바퀴를 도는지) 작성하는 것이 훨씬 좋을 것이다.

 

ex)

" 게임 개발자님.. 대미지가 20~60으로 몬스터를 죽이는 코드 좀 짜주세요"

" 네.."

' 값이 20~60 랜덤이니깐 죽을 때까지 때려야겠구나'

 

int i = 20~60 랜덤값; (편의상)

int health = 몬스터의 체력;

while (health <= 0) {

health -= i;

}

 

이렇게 특정 조건을 요구한다면 while문으로 작성하는 것이 좋을 것이다.

코드를 짜기 전에 요구사항이 어떤가에 충분히 생각해 본다면 for문을 사용할지 while문을 사용할지 알 수 있을 것이다.

 

 

알고리즘 문제를 풀 때도 for문과 while문을 잘 선택한다면 더 수월하게 풀 수 있을 것이다.

 

 

 

 

 

'JAVA' 카테고리의 다른 글

JAVA 반복문을 이용한 로또 번호 생성(for, while)  (0) 2024.07.08
디버깅  (0) 2024.07.08
startsWith 와 endsWith - java  (0) 2023.07.25
Comparator를 이용한 정렬 java  (0) 2023.07.23
쓰레드란?  (0) 2023.07.03