[Java]반복문(for, while, do-while, foreach) 정리
반복문이란 무엇인가요?
프로그래밍을 하는 데 일정한 패턴을 가지고 중복되는 일이 있다고 가정해봅시다.
처음에는 0을 출력하고, 다음에는 1을 출력 ... 그렇게 9까지 출력한다고 가정해보겠습니다.
1씩 증가한다는 패턴을 가지고 있네요. 그렇다면 이런 과정을 더 쉽게 표현할 수 없을까요?
반복문(영어로는 loop)을 활용하시면 됩니다.
자바에서 반복문은 for문, while문, do-while문 그리고 처음으로 나온 for문처럼 for라고 작성하지만 사용법이 다른 foreach문이 있습니다.
for문
for문은 횟수를 기반으로 반복하는 반복문입니다.
for문 안의 구조는 아래와 같습니다.
for(초기식;조건식;증감식) { 실행할 코드 }
초기식은 주로 횟수를 담는 int 변수를 선언합니다.
조건식은 false가 되면 for문을 그만 반복하게 됩니다.
증감식은 for문을 한 번 반복할 때 마다 수행하는 코드입니다.
아래 코드는 for문으로 0부터 9까지 출력하는 코드입니다.
public class main {
public static void main(String[] args) {
for(int i =0; i<10; i++) {
System.out.println(i);
}
}
}
while문
while문은 while문 뒤의 괄호가 참이 아닐 때 까지, false가 될 때 까지 반복하는 반복문입니다.
아래 코드는 while문으로 0부터 9까지 출력하는 코드입니다.
public class main {
public static void main(String[] args) {
int i = 0;
while(i<10) {
System.out.println(i);
i++;
}
}
}
do-while문
do-while문은 while문과 비슷하지만 최소 1번은 일단 중괄호{}안의 코드를 수행합니다.
또한주의점으로는 while뒤에 세미콜론(;)을 작성하셔야 합니다.
아래 코드는 do-while문으로 0부터 9까지 출력하는 코드입니다.
public class main {
public static void main(String[] args) {
int i = 0;
do {
System.out.println(i);
i++;
}while(i<10);
}
}
foreach문
foreach문은 배열이나 Iterator 인터페이스를 구현한 컬렉션 프레임워크에서 사용이 가능합니다.
foreach문이라 부르기 때문에 foreach()라고 작성해야 한다고 착각하실수도 있지만 for라고 작성합니다.
주의하실 점으로는 for문과 작성 방법이 다릅니다.
또한 for문이나 while문은 1씩 증가시키는게 아닌 2씩 증가시키는 등 일정한 패턴 안에서 반복시킬 수 있었지만 foreach문은 배열이나 Iterator 인터페이스를 구현한 컬렉션 프레임워크의 모든 요소들을 출력합니다. 다르게 표현하면 foreach문은 요소들을 순회합니다.
아래 코드는 배열에 담긴 0부터 9까지를 출력하는 코드입니다.
public class main {
public static void main(String[] args) {
int[] numbers = {0,1,2,3,4,5,6,7,8,9};
for(int i: numbers) {
System.out.println(i);
}
}
}