자바 기초(반복문)

웅평·2023년 11월 19일

반복문

특정 명령어(들)을 조건을 만족할 동안 계속해서 반복 실행시키고자 할 때 사용

반복문의 종류

for

for 문을 사용하는 형식
for( 초기값 ; 조건식 ; 증감식 ){
명령어(들)
}

for (int i = 0; i < 10; i++) {
	System.out.println("안녕하세요 " + i);
}

1~10 까지의 합 = 55 구하기

int sum = 0;
for (int i = 1; i < 11; i++) {
	sum += i;
}
System.out.println(sum);

거꾸로

for (int i = 5; i > 0; i--) {
	System.out.println("거꾸로 " + i);
}

while

while 문의 형식
초기값
while( 조건식 ){
명령어(들)
증감식
}

int distance = 25; // 이동할 거리
int move = 0; // 현재 거리
while (distance > move) {
	System.out.println("현재 이동 거리 " + move);
	move += 3;
}

do~while

int distance = 25; // 이동할 거리
int move = 0; // 현재 거리
int h = 2; // 사람 키

do {
	System.out.println("현재 이동 거리 " + move);
	move += 3;
} while (distance > (move + h)); {
System.out.println("도착 3");

do while은 do 안에 있는 문장을 실행 후 while로 이동
조건이 맞다면 다시 do로 이동

while문과 do~while문의 차이

처음부터 조건을 만족하지 않을때에
while문은 반복문을 한번도 동작하지 않는다.
그러나 do~while문은 적어도 한번은 동작한다.

중첩반복문

이중 반복문

for문 이중 반목문 표현식
for( 초기값 ; 조건식 ; 증감식 ){
for(초기값 ; 조건식; 증감식){
명령어(들)
}
명령어(들)
}

*로 사각형 만들기

for (int i = 0; i < 5; i++) {
	for (int j = 0; j < 5; j++) {
		System.out.print("*");
	}
	System.out.println();
}

break와 continue

break

public class _10_Break {
    public static void main(String[] args) {
        int max = 20;
        for (int i = 1; i <= 50; i++) {
            System.out.println(i + "번 손님 치킨 나왔습니다.");
            if (i == max) {
                System.out.println("금일 재로 소진");
                break;
            }
        }
        int index = 1;
        while (index <= 50) {
            System.out.println(index + "번 손님 치킨 나왔습니다.");
            if (index == max) {
                System.out.println("금일 재료 소진");
                break;
            }
            index++;
        }
    }
}

반복문 도중에 조건이 만족시 break문을 통해 반복문을 빠져나올 수 있다

continue

특정 조건에서 반복문을 빠져나오지 않고 계속 루프를 돌고 싶을 때 사용하는 경우

public class _11_Continue {
    public static void main(String[] args) {
        int max = 20; // 최대 판매 수향
        int sold = 0; // 판매 수량
        int no_show = 15;
        for (int i = 1; i <= 50; i++) {
            System.out.println(i + "번 손님 치킨 나왔습니다");
            if (i == no_show){
                System.out.println("노쇼 손님 " + i);
                continue;
            }
            sold++;
            if (sold == max) {
                System.out.println("금일 재료 소진");
                break;
            }
        }
        System.out.println("구분------------------");

        int idx = 0;
        sold = 0;
        no_show = 14;
//        while (idx < 50) {
        // 탈출 조건이 있기때문에 반복문 무한 루프에서 탈출가능
        while (true) {
            idx++;
            System.out.println(idx + "번 손님 치킨 나왔습니다");
            if (no_show == idx) {
                System.out.println("노쇼 손님 " + idx);
                continue;
            }

            sold++;
            if (sold == max){
                System.out.println("금일 재료 소진");
                break;
            }
        }

    }
}

참고
나도코딩 유튜브

0개의 댓글