[JAVA] JAVA 프로그래밍 기초 교육 : 반복 처리
교재 : JAVA 프로그래밍 기초 - 07. 반복 처리
# 반복문
반복문이란? 같은 처리를 반복하는 것.
영어로 루프(Loop). 반복문을 수행하는 것을 '루프가 돈다'라고 표현하기도 한다.
for문은 주로 루프 횟수를 처음부터 알고 있는 경우에 사용
while문은 주로 횟수가 정해져 있지 않고, 어느 조건을 채우는 동안 반복할 때 자주 사용.
# for문
반복문 중에서 가장 많이 사용한다.
[기본 구조]
for(카운터변수; 반복처리조건식; 업데이트식){
반복처리할 내용;
}
같은 말로
for(초기화식; 조건식; 증감식){
수행식;
}
이라고 표현하기도 한다.
· 카운터 변수 : 처음 한 번만 실행됨, 카운트 변수를 초기화한다.
int i = 0; 으로 초기화한다고 하면 0부터 반복하는 시작점이 된다.
'~부터'의 개념
· 조건식 : 반복을 위한 조건(횟수) 기재.
i < 3; 으로 설정하면 3보다 작은 숫자일 때까지만 반복하는 종료지점이 된다.
'~까지'의 개념
· 업데이트식 : for문 블록 내 반복 처리가 1회 종료될 때마다
다음 반복에서는 얼마만큼 업데이트된 것으로 실행할지 결정한다.
'~만큼 증가(or감소,곱하기 등…)의 개념
[예제]
package chap07;
public class ForLoop {
public static void main(String[] args) {
for(int i = 0; i < 3; i++) {
System.out.println("시작하자 Loop!");
}
}
}
▽ 실행화면 ▽
# while문
for문과 달리 지정하는 식은 조건식 하나.
"조건이 충족되는 동안" 블록 문에서 처리를 반복한다.
[기본 구조]
while (조건식) {
반복 실행내용
}
[예제]
package chap07;
public class WhileLoop {
public static void main(String[] args) {
// while문 제어하는 변수i를 선언하고 1로 초기화
int i = 0;
while (i <= 4) {
System.out.println("시작하자 WhileLoop!");
i++;
}
}
}
▽ 실행화면 ▽
# break문과 countinue문
반복문에서 반복의 흐름을 강제적으로 변경/중단할 때 사용한다.
· bereak문
반복 처리를 중단(종료)하는 작업.
주로 if문과 함께 사용한다.
[기본 구조]
for (식1; 식2; 식3) {
if (조건식) {
break;
}
}
*조건식 해당하면 이 위치로 이동
for문 안에 if로 조건을 달고 break를 걸면 해당 for문 밖으로 빠져나오게 된다.
[예제]
package jokun.chap07;
public class BreakStatement {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// 카운터변수
int count = 0;
System.out.println("===== 반복 시작 ===== ");
while(true){
System.out.print("반복을 시작하려면 'y'를 눌러주세요. ");
String result = sc.nextLine();
// 입력판정
if(result.equals("y")){ //y를 입력하면 반복됨
//카운트 1증가
count++;
System.out.println(count+"번째 반복됨");
System.out.println();
}else{ //y외에 다른 키를 누르면 break
System.out.println("y기외의 "+result+" 가 입력되었으므로 종료합니다.");
break;
}
}
System.out.println("===== 반복 종료 ====="); // * break조건에 해당하면 여기로 이동하며 종료된다.
}
}
▽ 실행화면 ▽
· continue문
조건이 충족될 때 반복문에서 처리될 내용을 한 번 건너뛰고
다시 반복문 시작점으로 돌아가 계속 진행한다.
[기본 구조]
for (식1; 식2; 식3) {
if (조건식) {
continue;
}
실행문
}
break문과 마찬가지로 while, do-while문에서도 사용 가능.
조건이 일치하면 실행문을 건너뛰고 다음 반복의 시작점으로 간다.
[예제]
package jokun.chap07;
public class ContinueStatement {
public static void main(String[] args) {
System.out.println(" ===== 반복 시작 ===== ");
while (true){
int num = (int)(Math.random()*9)+1; // 1부터 9까지 랜덤한 숫자 (9를 곱해 양수를 만들고 0이 나올 경우를 대비해 1을 더해준다)
if(num == 4){
System.out.println(num + "이 나오면 반복 시작점으로 간다.");
continue;
}
System.out.println("랜덤 숫자 : " + num);
if(num % 2 == 0){
System.out.println("4외에 짝수가 나오면 반복에서 나갑니다.");
break;
}
}
System.out.println(" ===== 반복 종료 ===== ");
}
}
▽ 실행화면 ▽