반복문

전영덕·2023년 1월 27일
0

Java Study

목록 보기
8/36

1. for문

  • for문은 사람이 직접 처리하기에 부담스러운 반복적인 작업을 처리하기에 매우 용이하다.

  • ex) 1+2+3+4+5+6+7+8+9+10+ ... + 1000 = ?

  • 형식
    for( 초기식; 조건식; 증감식 ){
    ...반복적으로 동작할 구문...
    }

  • 초기식 : 최초로 초기식을 설정한다.

  • 조건식 : 초기식을 설정한 다음에는 조건식을 판단한다.

  • 만약 조건식이 참이라면 반복적으로 동작할 구문을 1회 수행한다.

  • 반복 구문을 수행한 수, 증감식으로 이동한다.

  • 증감식을 수행한 후, 다시 조건식으로 이동한다.
    여전히 조건식이 참이라면, 반복 수행을 처리하고 그렇지 않다면 for문을 종료한다.

2. while문

  • while문 역시 for문과 마찬가지로 반복적인 처리를 수행하는 문법이다.

  • for문은 초기식, 조건식, 증감식을 모드 내장하는 반면에 while문은 조건식만을 내장하기 때문에 초기식과 증감식을 외부에 따로 정의해주어야한다.

    초기식;
    while(조건식){
    ...반복적으로 동작할 구문...
    증감식;
    }

3. do ~while문

  • 조건의 판별을 나중에 수행하는 반복문 형태
  • 초기식을 설정한 후 do{...}안의 문장을 우선적으로 1회실행하고 조건을 판별하므로, 조건이 참이 아니더라도 최소 1회는 실행된다.

초기식;
do{
...반복적으로 동작할 구문...
증감식;
}while(조건식);

4. 무한 루프

  • 증감식이 설정되지 않거나, 증감식이 수행되더라도 조건식이 거짓이 되지 않은 형태
  • 조건식이 항상 참이므로, 반복문이 종료되지 않는다.
  • 프로그램이 PC의 자원을 매우 많이 사용하게 되므로, 시스템 다운을 발생시킬 수 있다.
  • for문의 무한 루프 예시
    for( int i = 0; i <=100; i--) {
    System.out.println(i);
    }
  • while문의 무한 루프 예시
    while(true){
    System.out.println("Hello");
    }

5. 변수의 범위 ( = 변수의 스코프)

자신보다 하위 블록으로는 침투할 수 있다.

  • 사용가능한 경우
int num = 100;
if( num == 100 ){
System.out.println(num);}

-----------------------------------
int num = 100;
for( int i = 0; i<10; i++ ){
System.out.println(num+i);
}

자신이 선언된 블록 밖으로는 빠져나갈 수 없다.

  • 사용 불가능의 예시1

int num = 100;
if (num ==100){
int result = num +100;
}
System.out.println(result);

=> 마지막 문장에서 error가 발생하며, reslt라는 변수는 블록괄호 안에서만 사용 가능하다.

사용 불가능의 예시2
for(int i= 0; i<10; i++{
...
}
System.out.println(i);

=> i가 for문을 위한 괄호 안에서 사용되었으므로 사용 불가능하다.
블록 안에서 선언된 변수는 블록 밖에서 존재하는 동일한 이름의 변수와는 이름만 동일할 뿐, 다른 값으로 인식된다.

  • 사용 가능 예시
int target = 100;
if( target == 100){
int num = target + 100;
} else {
int num = target - 100;
}

=>Error발생 없이 num을 출력하게 되면 200이 출력된다.

6. 반복문에서의 break와 continue

  • break : 반복문 안에서 break 키워드를 만나면 반복을 강제로 종료한다.

  • continue : 실행 흐름이 증감식으로 강제로 이동한다.

0개의 댓글