1. break
진술
이전 수업의 예를 살펴보겠습니다.
암호 | 설명 |
---|---|
|
프로그램은 를 입력할 때까지 키보드에서 한 줄을 읽습니다 "exit" . |
프로그램은 단어가 입력될 때까지 콘솔에서 줄을 읽습니다 exit
. 이 단어를 입력하면 isExit
변수가 true
, 루프 조건이 가 되고 루프가 종료됩니다."!isExit
false
break
Java에는 이러한 논리를 단순화할 수 있는 특수 문이 있습니다 . break
문이 루프 내에서 실행되면 루프가 즉시 종료됩니다 . 프로그램은 루프를 따르는 명령문을 실행하기 시작합니다. 진술은 매우 간단합니다.
break;
break
방금 설명한 예제를 다시 작성하기 위해 명령문을 사용하는 방법은 다음과 같습니다 .
암호 | 설명 |
---|---|
|
프로그램은 를 입력할 때까지 키보드에서 한 줄을 읽습니다 "exit" . |
2. 계속 진술
그러나 break
루프의 동작을 제어할 수 있는 유일한 Java 문은 아닙니다. Java에도 이러한 진술이 있습니다 continue
. continue
루프 내에서 명령문을 실행하면 루프의 현재 반복이 일정보다 빨리 종료됩니다.
루프 본문을 한 번 실행하는 것을 루프 반복이라고 합니다. 이 continue
명령문은 루프의 현재 반복을 중단하지만 break
명령문과 달리 루프 자체를 종료하지는 않습니다. 진술도 간단합니다.
continue;
이 continue
명령문은 특정 상황에서 루프 본문의 실행을 '건너뛰고' 싶을 때 루프에서 매우 편리합니다.
1
작업: 에서 까지 의 숫자를 인쇄하고 20
로 나누어지는 숫자는 건너뛰는 프로그램을 작성하고 싶습니다 7
. 이것이 이 코드의 모습입니다.
암호 | 설명 |
---|---|
|
프로그램은 에서 1 까지 의 숫자를 표시합니다 20 . 숫자를 로 나눌 수 있는 경우 ( 나누기 7 의 나머지는 ) 숫자 표시를 건너뜁니다.7 0 |
사실, 이 코드는 작동하지 않을i
것 입니다 7
. 결국 이 명령문은 두 개의 continue
다른 명령문을 건너뜁니다 System.out.println(i)
. i++
결과적으로 값에 도달하면 7
변수 i
변경이 중지되고 무한 루프에 빠지게 됩니다.
우리는 이 매우 흔한 실수를 설명하기 위해 일부러 이런 방식으로 코드를 작성했습니다. 어떻게 고칠 수 있습니까?
여기에는 두 가지 옵션이 있습니다.
옵션 1:i
실행하기 전에 변경 continue
하지만 이후에 변경i % 7
옵션 2:i
루프 시작 시 항상 증가합니다 . 그러나 then i
의 시작 값은 이어야 합니다 0
.
옵션 1 | 옵션 2 |
---|---|
|
|
GO TO FULL VERSION