반복문 중 활용빈도가 가장 높은 for 반복문입니다. for문으로 구현할 수 있는 모든 것은 while 반복문으로 대체 가능합니다. 반대로도 마찬가지입니다. 상황에 따라서 while과 for 반복문 중 어떤 것을 사용하는 것이 편할지 판단하는 것은 자신의 몫입니다.
1. for 반복문 구조
for(초기식; 조건식; 증감식)
{
. . .
}
(1) 초기식
for문을 돌리기 위해 사용할 변수를 초기화를 시킵니다. 가령, num = 0; 같은 식으로 말입니다. 초기식은 for 반복문에 들어와서 딱 한 번 시행만 시행되고 더 이상 쓰이지 않습니다.
(2) 조건식
조건식에 따라서 { } 구문을 실행할지 말지 결정을 합니다. 조건식이 '참(true)' 이면 { }를 실행, '거짓(false)' 이면 for 반복문을 탈출합니다.
(3) 증감식
for문을 돌리기 위한 변수의 증가 혹은 감소를 담당하는 식입니다. 예를 들면, num++ 혹은 num- 혹은 num+=5 와 같이 증감식을 한 번 거치고나서 다시 조건식을 판단하여 { } 구문을 또 한 번 실행할지 말지 결정이 됩니다.
정리하면 다음 그림과 같습니다.
조건식이 '참'일 동안은 ② → ③ → ④ → ② 의 순서로 계속 실행이 되다가, 조건식이 거짓이 되면 for 반복문을 탈출합니다.
package hello;
public class HelloJava{
public static void main(String[] args){
for (int count=0; count < 5; count++){
System.out.println("count is "+count);
}
}
}
실행결과
The count is 0
The count is 1
The count is 2
The count is 3
The count is 4
계속하려면 아무 키나 누르십시오 . . .
while문과 다르게 for문은 초기식에서 변수의 선언이 가능하고 증감식에서 변수의 증가 혹은 감소가 가능합니다.
위의 코드를 while 반복문을 사용해서 짜려면 어떻게 해야할까요?
package hello;
public class HelloJava{
public static void main(String[] args){
int count=0;
while (count < 5){
System.out.println("count is "+count);
count++;
}
}
}
위의 코드의 실행결과는 for문을 사용했을때와 같습니다. 하지만 for문과는 다르게 변수를 밖에서 선언하고 초기화까지 시켜야하며 while문의 { } 안에서 cnt 변수를 증가시켜줘야 합니다.
for문은 정해진 반복횟수가 있는 경우에 사용하는 것이 좋습니다.
while 문은 어떤 변수의 값이 특정한 조건이 될 경우 특정 코드를 실행시킬 때 사용하기 좋습니다.
2. 조건식 / 증감식이 없는 for문
1) 조건식이 없는 경우
package hello;
public class HelloJava{
public static void main(String[] args){
int cnt = 0;
for (cnt = 0; ;cnt += 2)
{
System.out.println("The count is "+cnt);
}
}
}
실행결과
The count is 0
The count is 2
The count is 4
The count is 6
The count is 8
The count is 10
.
.
.
println함수의 출력이 멈추지 않습니다.
조건식이 비어있는 경우는 항상 true로 간주하여 무한루프가 되어버립니다.
증감식이 비워져도 아무런 문제가 없습니다.
'프로그래밍 언어 > Java' 카테고리의 다른 글
(Java) 10 - 조건문(1) - if (0) | 2020.05.17 |
---|---|
(Java) 9 - 반복문(3) - do-while (0) | 2020.05.17 |
(Java) 7 - 반복문(1) - while (0) | 2020.05.17 |
(Java) 6 - 연산자 (0) | 2020.05.17 |
(Java) 5 - 자료형(3) - 형 변환 (0) | 2020.05.17 |