다라다라V
article thumbnail
728x90
반응형

반복문 시작

  • while, do-while, for 세 가지 반복문이 있음
  • 특정한 코드를 반곱해서 실행할 때 사용하는 것이 반복문

while문

  • 조건에 따라 반복해서 코드를 실행하는 경우
    • 조건식을 확인해서 참이면 코드를 실행
    • 거짓이면 while문을 나옴
  • while문을 사용하지 않는 경우
    • 변경에 유연하지 않다는 것이 최대 단점

변경사항이 발생했을 때 유연하게 변경되는 코드가 좋은 코드

do-while문

package loop;

public class DoWhile2 {
    public static void main(String[] args) {
        int i = 10;
        
        do {
            System.out.println("현재 숫자는 : " + i);
            i++;
        } while (i < 3);
    }
}

  • while 문과 비슷하지만 조건에 상관없이 한 번은 코드를 무조건 실행
  • 최초 한 번은 코드 블럭을 꼭 실행해야하는 경우에만 사용

break, continue

break

package loop;

public class Break1 {
    public static void main(String[] args) {
        int sum = 0;
        int i = 1;

        while (true) {
            sum += i;
            if (sum > 10) {
                System.out.println("합이 10보다 크면 종료: i=" + i + " sum= " + sum);
                break;
            }
            i++;
        }
    }
}
  • 반복문을 즉시 종료하고 빠져나감

continue

package loop;

public class Continue1 {
    public static void main(String[] args) {
        int i = 0;
        while (i < 5) {
            i++;
            if (i == 3) {
                continue;
            }
            System.out.println(i);
        }
    }
}

  • 반복문의 나머지 부분을 건너뛰고 다음 반복으로 진행

for 문

  • for 문을 사용하는 경우
    • 반복 횟수가 정해져 있는 경우
    • 코드를 구조화해서 반복할 수 있음
      • 반복을 위해 사용되는 카운터 변수를 명확하게 구분할 수 있음
      • while 문의 경우 변수 i 선언과 i++ 부분이 분산되어 있음

실행 순서

  1. 초기식이 실행됨.
    • 반복횟수와 관련된 변수를 선언하고 초기화할 때 사용
    • 초기식은 딱 1번 사용
  2. 조건식을 검증
    • 참이면 실행하고 거짓이면 빠져나감
  3. 코드를 실행
  4. 코드가 종료되면 증감식을 실행
    • 주로 초기식에 넣은 반복횟수와 관련된 변수 값을 증가시킴
  5. 다시 2.조건식 부터 시작

생략

  • 초기식, 조건식, 조건식은 생략 가능
    • ; 은 생략 불가
    for (;;) { // 코드
    } 
    // while (true)
    

중첩반복문

  • for 문과 while 문은 중첩으로 사용 가능

정리 (while vs for)

  • 정해진 횟수만큼 반복을 수행해야 하면 for문을 사용하고 그렇지 않으면 while문을 사용하면 된다.
  • 물론 이것이 항상 정답은 아니니 기준으로 삼는 정도로 이해하자

for 문

장점

  1. 초기화,조건체크,반복후의작업을한줄에서처리할수있어편리하다.
  2. 정해진 횟수만큼의 반복을 수행하는 경우에 사용하기 적합하다.
  3. 루프 변수의 범위가 for 루프 블록에 제한되므로, 다른 곳에서 이 변수를 실수로 변경할 가능성이 적다.

단점

  1. 루프의 조건이 루프 내부에서 변경되는 경우, for 루프는 관리하기 어렵다.
  2. 복잡한 조건을 가진 반복문을 작성하기에는 while문이 더 적합할 수 있다.

while문

장점

  1. 루프의 조건이 루프 내부에서 변경되는 경우, while 루프는 이를 관리하기 쉽다.
  2. for 루프보다 더 복잡한 조건과 시나리오에 적합하다.
  3. 조건이 충족되는 동안 계속해서 루프를 실행하며, 종료 시점을 명확하게 알 수 없는 경우에 유용하다.

단점

  1. 초기화, 조건 체크, 반복 후의 작업이 분산되어 있어 코드를 이해하거나 작성하기 어려울 수 있다.
  2. 루프 변수가 while 블록 바깥에서도 접근 가능하므로, 이 변수를 실수로 변경하는 상황이 발생할 수 있다.
반응형

'코딩언어 > [인프런] JAVA 입문' 카테고리의 다른 글

6. 스코프, 항 변환  (0) 2024.05.12
4. 조건문  (0) 2024.05.01
3. 연산자  (0) 2024.05.01
2. 변수  (0) 2024.04.28
1. Hello World  (0) 2024.04.28
profile

다라다라V

@DaraDaraV

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!