Java

[Java] 제어문

다콩잉 2022. 7. 8. 22:30

제어문과 제어 키워드를 사용하면 프로그램의 실행 순서를 다양한 방법으로 제어할 수 있다.

 

 

제어문 종류

 

1) 선택 제어문 ( if, swtich )

2) 반복 제어문 ( for, while, do-while )

 

 

 

switch

 

- 점프 위치 변수값에 특정위치(case)로 이동해 구문을 실행하는 선택 제어문

- 점프할 수 있는 위치는 'case 위치값:'으로 설정

 

 

 

for문

 

- 조건식이 생략됐을 경우

// 조건식을 생략하면 컴파일러는 자동으로 true 입력 ( 무한 루프 )
for( 초기식 ;      ; 증감식 ) {
	실행구문;
}

 

- break를 이용한 무한 루프 탈출

for(int i = 0;     ; i++){
	if(i > 10){
    	break;
    }
    System.out.println(i)		// 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
}

 

 

 

do-while

 

- 조건식이 참이면 다시 do 구문을 실행하고 거짓이면 제어문 탈출

- while문은 조건식을 먼저 검사하므로 최소 반복 횟수는 0 (처음부터 조건식이 false일 때)이지만, 

  do-while문은 일단 실행한 후 조건식을 검사하므로 최소 반복 횟수는 1

 

 

 

제어 키워드

 

- break: 'if문을 제외한 가장 가까운 중괄호 ({ })을 탈출'

 

for(int i = 0 ; i < 10 ; i++){
	System.out.println(i);
    break;						// 반복문 탈출 실행
}							// if문을 제외한 가장 가까운 중괄호 탈출

-> 즉, for문의 반복 횟수와 상관없이 단 하나의 출력문만 실행되고 for문 종료

 

 

- label을 이용한 이중 for문 탈출

 

out:							// break out으로 탈출하는 중괄호
for(int i = 0; i < 10; i++){
	for(int j = 0; j < 10; j++){
    	if(j == 3)
        	break out;				// 레이블이 달린 반복문 탈출
    }
}							// break out으로 탈출하는 중괄호

 

- continue: 반복 제어문의 닫힌 중괄호(}) 역할하는 제어 키워드

                  -> 주로 반복 과정에서 특정 구문을 실행하지 않고 건너뛰고자 할 때 사용

 

 

 

- continue Label을 이용해 이중 for문 내에서 여러 개의 반복문을 한 번에 건너뛰기

 

POS1:			// 레이블 위치지정(coninue하고자 하는 반복문 앞에 레이블 표기)
for(int i = 0; i < 5; i++){
	for(int j = 0; j < 5; j++){
    	if(j == 3)
        	coninue POS1:	// POS1 레이블이 달린 반복문의 닫힌 중괄호 대체
    }
}				// coninue POS1로 대체하는 중괄호

-> i값이 0, 1, 2, 3, 4로 총 5회 반복하고, j 값이 0, 1, 2로 총 3회 반복. 즉, 총 15회 실행

728x90