반복문

민범·2023년 12월 12일

Java -기본-

목록 보기
7/18

📌 반복문

  • 반복문은 이름 그대로 특정 코드를 반복할때 사용합니다.

📌 for문

  • 주로 반복 횟수가 정해져 있을때 사용한다.
  • 구조
for (1. 초기식; 2.조건식; 3.증감식) {
	//3. 코드
}
  • 순서
    ▶️ 1. 초기식이 실행된다. 주로 반복 횟수와 관련된 변수를 선언하고 초기화 할때 사용되며, 초기식은 딱 1번 사용된다.
    ▶️ 2. 조건식을 검증한다. 참이면 코드를 실행하고, 거짓이면 for문을 빠져나간다.
    ▶️ 3. 코드를 실행한다.
    ▶️ 4. 코드가 종료되면 증감식을 실행한다. 주로 초기식에 넣은 반복 횟수와 관련된 변수의 값을 증가할 때 사용한다.
    ▶️ 5. 다시 2. 조건식 부터 시작한다. (무한 반복)
  • EX)
for (int i=1; i <= 10; i++) {
	System.out.print(i);
	}

▶️ 1. 초기식은 int i=1이며 한번만 사용된다.
▶️ 2. 조건식을 검증하는데 i가 10보다 작거나 같으니 참이므로 코드를 실행한다.
▶️ 3. 코드가 종료되며 증감식을 실행한다.
▶️ 4. 다시 조건식을 검증하고 i<=10이 거짓이 되면 for문을 빠져나온다.

📌 while문

  • while문은 조건에 따라 코드를 반복해서 실행할때 사용한다.
  • 조건식을 확인하고 참이면 코드 실행 하고 이후에 코드가 끝나면 다시 처음으로 돌아와 조건식을 검사한다(무한반복), 거짓이면 while문을 탈출한다.
  • while(조건식) { 코드 }
  • EX)
int count = 0;
while(count < 3){
	count++; //변수를 사용하고 1씩더해주는 후행 증감 연산자
 } //count는 0이므로 count가 3이될때까지 while문 안의 코드를 무한반복 해줍니다.

📌 do-while문

  • while문과 비슷하지만, 조건에 상관없이 무조건 한 번은 코드를 실행해야 한다.
int i = 10;
do {
   System.out.println("현재 숫자는:" + i);
   i++;
 } while(i < 3);
  • do-while문은 최초 한번은 항상 실행된다. 따라서 먼저 현재 숫자는: 10이 출력된다. 코드 블럭을 실행 후에 조건식을 검증하는데, i = 10이기 때문에 while(i<3) 조건식은 거짓이 된다. 따라서 do-while문을 빠져나온다.

📌 break, continue

  • breakcontinue는 반복문에서 사용할 수 있는 키워드다. break는 반복문을 즉시 종료하고 나간다. continue는 반복문의 나머지 부분을 건너뛰고 다음 반복으로 진행하는데 사용된다.
int sum = 0;
int i = 1;
while(true){
	sum += i; // sum = sum + i
    if(sum > 10) {
       System.out.println("합이 10보다 크면 종료: i=" + i + "sum=" + sum);
       break;
	}
    i++; //후행 증감 연산자
 } 
  • 조건식을 잘보면 true라고 되어있다. 조건이 항상 참이기 때문에 while문은 문한 반복된다. 몰론 break문이 있기 때문에 sum > 10의 조건을 만족하면 break를 통해 while문을 빠져나간다.
int i= 1;
while(i<=5){
	sum += i; // sum = sum + i
    if(i == 3) {
		i++;
        continue;
	}
    System.out.println(i);
 } 
  • i==3인 경우 i를 1증가하고 continue를 실행한다. 따라서 이 경우에는 i를 출력하지 않고 바로 while (i <=5 ) 조건식으로 이동한다.

중첩 반복문

  • 반복문 내부에 또 반복문을 만들 수 있다. for, while모두 가능하다.
  • EX)
for(int i = 0; i < 2; i++) {
	System.out.println("외부 for 시작 i:" + i);
    for(int j = 0; j < 3; j++) {
    System.out.println("-> 내부 for " + i + "-" + j);
  }
    System.out.prinltn("외부 for 종료 i:" + i);
    System.out.prinltn(); // 라인 구분을 위해 실행
 }
  • 실행 결과
    ▶️ 외부 for 시작 i:0
    -> 내부 for 0 - 0
    -> 내부 for 0 - 1
    -> 내부 for 0 - 2
    ▶️ 외부 for 종료 i:0

    ▶️ 외부 for 시작 i:1
    -> 내부 for 0 - 0
    -> 내부 for 0 - 1
    -> 내부 for 0 - 2
    ▶️ 외부 for 종료 i:1

  • 외부 for문은 2번 내부 for문은 3번 실행된다. 그런데 외부for문 1번당 내부 for문이 3번 실행되기에 총 2*3의 6번의 내부 for문의 코드가 실행된다.
  • 간단하게 말하면 외부 for문 안의 내부 for문이 실행되고 내부 for문의 조건이 거짓이되면 다시 외부 for문으로 돌아와 증감을 실행후 다시 내부 for문이 실행되고 이렇게 반복이 되다가 외부 for문의 조건이 거짓이 되면 for문을 완전 탈출 하는 것이다.
profile
웹 백엔드 개발자를 지향하고 있습니다.

0개의 댓글