Backend/Java

[JAVA] 분기문_break, continue

Deeb 2021. 9. 8. 09:15

분기문 

- 가장 가까운 반복문(for, while)을 종료시키는 구문

 

while(true) { // 무한루프
			// 반복문은 조건식이 true일 때 반복
			// 항상 true == 무한 반복 == 무한 루프
			
		}
		System.out.println();
		//Unreachable code : 도달할 수 없는 코드
}

이러한 상황에서는 에러가 나기 때문에 분기문이 필요하다.

 

1) break

 

반복문에서는 break문 자신이 포함된 가장 가까운 반복문을 빠져나가는 구문

 

Scanner sc = new Scanner(System.in);
		
	int sum = 0; // 합계 저장용 변수
		
	while(true) { // 무한루프
		// 반복문은 조건식이 true일 때 반복
		// 항상 true == 무한 반복 == 무한 루프
		System.out.print("정수 입력 : ");
		int input = sc.nextInt();
			
		if(input == 0) {//입력된 정수가 0인 경우
				
			break; //마우스를 대보면 break; 구문이 어디에 작용하는지 알 수 있다.
				
		} else { // 0이 아니라면 정수 합하기
			sum += input; // 입력된 값을 누적
				
		} //if end
		
	} //while end
		
	System.out.println();
	//Unreachable code : 도달할 수 없는 코드 (break;를 써 에러가 사라짐)
}

 

 

2) continue

정의: 반복문 내에서만 사용 가능하며 다음 반복으로 건너 뛰는 기능

 

반복문 내에서만 사용 가능하며 반복문 실행 시 continue 아래 부분은 실행하지 않고 반복문 다시 실행 for문의 경우 증감식으로 이동, while(do~while)문의 경우 조건식으로 이동 전체 반복 중에 특정 조건을 만족하는 경우를 제외하고자 할 때 유용

 

for문에서 continue : 증감식 부분으로 이동하여 증감 후 조건식을 따짐

while문에서 continue : 조건식으로 이동(증감식이 X)

for(int i = 1; i <= 10; i++) {
	if(i % 2 == 0) {
		continue;
	}
	System.out.println(i + " 출력");
}

풀이: 

i가 2라면 if문에서 2의 배수이기때문에 출력되지 않고 다음 for문을 진행한다. 

i가 3이라면 출력

 

만약 continue 대신break라면 

2의 배수일때 for문을 종료한다

 

 

 

반응형