JAVA

[JAVA] 반복문

shb 2021. 9. 28. 15:25

1. 반복문

1-1. for문

 

1-2. while문

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

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

1-3. do~while문

- 조건의 판별을 나중에 수행하는 반복문 형태

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

1-3. 무한루프

- 증감식이 설정되지 않거나, 증감식이 수행되더라도 조건식이 거짓이 되지 않는 형태

- 조건식이 항상 참으므로, 반복문이 종료되지 않는다. 

- 프로그램이 PC의 자원을 매우 많이 사용하게 되므로, 시스템 다운을 발생시킬 수 있다. 

 

        -> for문의 무한루프의 예

       

          for( int i = 0; i<10; i--){

               System.out.println( i );

          }

 

        -> while문의 무한루프의 예

 

         while( true ){

                System.out.println("hello");

         }

2. 문법의 중첩사용

2-1. 변수의 범위(=변수의 스코프)

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

 

- 유효한 범위의 예

 

int num = 100;

if( num == 100){

// num이 현재 블록 밖에서 생성되었으므로 사용가능

    System.out.println(num);

}

-------------------------------------------------------------

int num = 100;

for( int i = 0; i<10; i++){

//변수 num이 현재 블록 밖에서 생성되었으므로 사용가능

    System.out.println(num+i);

}

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

 

- 허용되지 않는 범위의 예

 

int num = 100;

if(num==100){

          int result = num + 100;

}

// 변수 result가 if 블록 안에서 생성되었으므로 사용 불가

System.out.println(result);

-----------------------------------------------------------------

for(int i = 0; i<10; i++){

   .....

}

//i가 for문을 위한 괄호 안에서 사용되었으므로 사용 불가

System.out.println( i );

 

- 블록 안에서 선언된 변수는 블록 밖에서 존재하는 동일한 이름의 변수와는 이름만 동일할 뿐, 다른 값으로 인식된다. 

 

int target = 100;

 

if(target==100){

       int num = target + 100;

} else {

       int num = target - 100;

}

 

2-2. 여러가지 문법의 중첩 사용

- 앞서 살펴본 문법 표현들은 서로 중첩해서 사용하는 것이 가능하다. 

2-3. 반복문의 흐름제어 기법

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

- continue : 실행 흐름이 증감식 또는 조건식으로 강제 이동한다. 

'JAVA' 카테고리의 다른 글

[JAVA] Scanner  (0) 2021.10.04
[JAVA] 배열  (0) 2021.10.01
[JAVA] 형변환과 조건문  (0) 2021.09.24
[JAVA] 연산자  (0) 2021.09.24
[JAVA] 주석문과 변수  (0) 2021.09.15