Java 반복문에 대한 이해

박현우·2023년 12월 20일

1. 반복문
1-1. for문

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

    	for (초기식; 조건식; 증감식){
    	...반복적으로 동작할 구문...
    	}
  • (1): 최초로 초기식을 설정한다.

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

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

  • (4): 반복구문을 수행한 후, 증감식으로 이동한다.

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

2-1. while 문

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

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

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

2-2. do~while문

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

2-3. 무한루프

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

3. 변수의 범위
3-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
    	}

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

  • 앞서 살펴본 문법들은 서로 중첩해서 사용하는 것이 가능

5. 반복문에서의 break와 continue

  • break : 반복문 안에서 break 키워드를 만나면 반복을 강제 종료
  • continue : 실행흐름이 증감식으로 강제 이동

0개의 댓글