본문 바로가기

카테고리 없음

[반복문] for 문 & while 문

for문과 while문도 Java 코딩에 있어 중요한 부분 중 하나입니다.

for문과 while문은 반복문으로써 어떠한 특정 코드를 반복하여 실행시킬때 사용하는 문법입니다.

for문 사용법은 

for문 사용법

while문 사용법은

while문 사용법

for문과 while문은 어떤 경우에 for문을 사용하면 좋을지 while문을 사용하면 좋을지 이 둘에 성능차이가 있는지 가독성차이인지 나는 똑같다고 생각한다.

보통 프로그래머 분들은 반복횟수를 아는경우 for문이 좋다고 말한다. 반드시 그렇지는 않지만 어느정도 이해한다. 왜냐하면 while문은 보통 boolean 값을 반복조건에 두고 (true)무한 루프를 돌다가 false로 바뀌게 되면 while문을 벗어나 다음 코드를 실행시킨다. 그러므로 저는 무한루프를 돌릴 때 while문을 많이 사용한다. 

사람 by 사람으로 for문과 while문을 사용하니 더 편한 쪽을 선택하는 것이 맞는거같다.

for문 예시를 보겠다.

for문 예시1

1부터 10까지 더하는 반복문이다. for문의 시작 조건은 i 가 1부터이고, 반복조건은 i가 10보다 작거나 같을때까지 i++로 1씩 증가하여 진행조건을 작성하였다. sum이라는 int형 변수를 사용하므로써 처음에 초기화를 해주고 for문 안에서 sum에 i (1, 2, 3, 4, 5, 6, 7, 8, 9, 10)를 차례로 더하며 저장시켜 출력한다. 결과는 아래와 같다.

for문 출력1

i가 1일때 sum에는 1이 저장되고 i가 2일때는 sum 1에 +2가 된 3이 저장되고 ... i가 10일때는 sum 45에 +10이 되어 55가 저장됨을 알 수 있다. 

 

다음 예시는 대표적으로 구구단을 들수있다.

코드는 다음과 같다.

for문 예시2

for문 안에 for문을 넣음으로써 j가 2일 때 h가 1~9까지 실행됨을 알 수 있다. 또한 j가 3일때 h가 1~9까지 또 실행됨을 알 수 있다. 이렇게 이중for문을 사용하게 되면 2차원 배열과 같이 행과 열을 사용하는 것 처럼 사용할 수 있음을 알 수 있다. 결과는 다음과 같다.

for문 출력2

다음은 while 문이다.

while문 예시1

아까 for문과 같이 1부터 10까지 더하는 코드를 while문으로 작성해 보았다.

i가 1일 때에는 while 조건문이 true이기 때문에 while문 안의 코드를 실행한다. 또한 2일 때에도 마찬가지로 true이므로 while문 안의 코드를 실행한다. 그리고 i가 10일 때까지도 while 조건문은 true이므로 i가 10까지 while문 안의 코드를 실행한다. 그러나 i가 11이 되면 while 조건문이 false를 출력 하기때문에 while문 안의 코드를 실행하지 않고 출력을 하게 된다. 그러므로 결과는 다음과 같다. 

while문 출력1

이와 똑같이 break를 사용하여 반복 조건문을 사용할 수 있다.

while문 예시2

이에 결과는 아래와 같다.

while문 출력2

for문과 while문은 실무적으로 굉장히 많이 쓰이므로 다양한 환경에서 사용할 줄 알아야한다. for문으로만 작성하지말고 while문으로 작성을 해보고 또한 while문만 작성하지말고 for문으로도 작성해보는걸 추천한다.

 

또 break; 와 continue; 의 차이를 알아보자.

continue 사용

결과는 다음과 같다.

결과

break문은 break;를 적은 곳에서 해당 조건문 블록과 그 밖의 반복문 자체를 탈출한다.

continue문은 해당 조건문 블록을 탈출하여 아래 명령문은 실행하지 않고, 다음 반복문 실행절차를 수행한다.