Java에서는 거의 모든 언어에서와 마찬가지로프로그래밍에는 특정 코드 조각의 반복을 보장하는 도구가 있습니다. Java의 순환은 for 및 while과 같은 연산자와 해당 유형으로 나타납니다. 일반적으로 사이클은 일차원 및 다차원 배열을 통과하고 데이터 구조 (컬렉션 포함)를 반복하여 특정 요소 및 그와 관련된 추가 작업을 찾습니다. 그러나 이것이 Java 루프와 같은 도구를 사용하는 유일한 방법은 아닙니다. 사용 예가 고려 될 때 주어질 것입니다.

Cycle while Java : 설명 및 예

Java의 기본 순환문은 다음과 같습니다.동안. 본문에 포함 된 코드 조각은 표현의 조건이 진리의 논리 값을 만족 한 후에 괄호로 묶일 때까지 반복됩니다. while 문의 일반적인 형식은 다음과 같습니다.

while (조건) {

// 루프의 본문

}

논리 조건 값이 참 (true)이 되 자마자 루프의 본문에 포함 된 코드는 실행을 중단하고 제어는 바로 다음 행으로 넘어갑니다.

자바에서 루프
루프 본문에 연산자가 하나만있는 경우,중괄호는 설정할 수 없지만 항상 서 있으면 좋은 형태로 간주됩니다. 위의 그림은이 연산자의 작동을 보여주는 블록 다이어그램입니다.

명확성을 위해 아래 그림과 같은 예를 살펴 보겠습니다.

동안 자바 루프

선언 된 변수 개수는 처음에는value 1. 다음으로 연산자 이름 다음에 괄호로 묶인 논리 표현식을 봅니다. 그것은 사실 일 것이다. count가 10보다 작거나 같을 때까지 true를 반환합니다. 루프 본문에서 반복 할 때마다 변수 값이 1 씩 증가하고 콘솔 화면에 표시됩니다. 변수 값이 11에 도달하면주기가 작동하지 않습니다.

변수 수의 값이 처음에 11과 같으면 루프 조건은 false가되고 프로그램은 자신의 몸에 들어 가지 않습니다.

자바 구문이 허용하는 것은본문없이 while 문을 사용하십시오. 예를 들어 보겠습니다. i = 100 및 j = 200의 두 변수가 있다고 가정하면 프로그래밍 방식으로 평균 산술을 계산하는 작업에 직면 해 있습니다. "hollow"while을 사용할 수 있습니다.

while (++ i <- j);

결과적으로 두 변수 중 하나의 값은 원래 값의 평균과 같습니다. 보시다시피, 사이클은 몸없이 완벽하게 작동하고 조건부 표현에서 필요한 모든 작업을 수행했습니다.

Do-while 루프

이전 예에서 조건식처음에 false를 반환하면 프로그램 실행은 루프 본문을 무시하고 더 나아갑니다. 그러나 조건부 표현의 유효성에 관계없이 루프 본문에 포함 된 코드의 실행이 최소한 한 번은 반드시 필요합니다. 즉, 처음에는 조건식의 유효성을 검사 할 필요가 없지만주기의 끝에서 조건식의 유효성을 검사 할 필요가 없습니다. 이 기능은 do-while이라 불리는 일종의 while 루프로 제공 될 수 있습니다. 그것은 다음과 같은 형식을 가지고 있습니다 :

할;
// 루프의 본문

} while (조건);

보시다시피, 루프 본문이 처음 실행되고 그 다음에 만 점검 조건의 진실입니다. 반복 할 때마다 마찬가지입니다.

사이클 자바 예제

위의 코드는 다음과 같이 작동합니다.보통의 경우와 동일합니다. 그러나 count 변수에 값 11을 지정하면 연산자가 표현식의 유효성을 확인할 수 있기 전에 루프 본문이 한 번 실행됩니다.

Java 순환에 대한 설명 및 예

for 루프는 범용이며Java에서 효과적인 언어 형식. Java SDK의 다섯 번째 버전 이전에는 for 문은 하나의 전통적인 형식이었고 각각에 대해 새로운 형식이있었습니다. 이 섹션에서는 전통적인 형식의 연산자에 대해 알게 될 것입니다. Java의 경우 루프는 다음과 같습니다.

자바 루프를위한

본문에 제어 코드가 주어지기 전에사이클에서, 카운터로서 작용하는 변수 i의 초기화가 먼저 수행된다. 다음으로, 카운터를 특정 값과 비교하는 조건식을 확인하고, true를 반환하면 루프 본문이 실행됩니다. 그런 다음 카운터 값이 미리 결정된 단계로 변경되고 조건식이 다시 점검되고 조건이 거짓이 될 때까지 계속됩니다. 아래의 플로우 차트는 사이클의 모든 단계를 보여줍니다.

자바 루프를위한

더 나은 이해를 위해 Java 루프가 어떻게 작동하는지 예를 들어 보겠습니다.

자바 루프를위한

카운터가 사용 된 것을 볼 수 있습니다.변수 loopVal. 루프가 반복 될 때마다 값은 1 씩 증가하며, 11이 될 때까지 값이 증가합니다. 제어 변수는 for 문 외부에서 선언 될 수도 있지만,이 변수는 다음을 제외하고는 사용하지 않아야합니다. 루프에서는 명령문에서 직접 선언하는 것이 좋습니다. 문 자체의 선언 된 변수는이 동일한 루프 내에서 범위를가집니다.

신고하려는 상황이 있습니다.사이클을 제어하는 ​​여러 변수. Java의 경우 루프를 사용하면 두 개 이상의 변수를 쉼표로 구분하여 지정할 수 있으며 초기화 및 반복 중에이 작업을 수행 할 수 있습니다. 이러한 연산자는 다음 형식을 갖습니다.

for (int i = 1, int j = 10; i <j, ++ i, - j) {}

각 반복에서 변수 i의 값은 1 씩 증가하고 변수 j의 값은 1 씩 감소합니다. 반복은 i가 j보다 커지거나 같아 질 때까지 실행됩니다.

for 문 사용의 특징

for 루프는 매우 유연합니다.3 가지 부품 (초기화, 조건 및 증분 / 감소)을 모두 의도 된 용도로 사용할 수 없기 때문에 예를 들어 제어 변수가있는 조건식 대신 모든 논리 변수를 대체 할 수 있습니다.

부울 exit = false;

for (int i = 0 ;! exit; ++ i) {

exit = true;

}

위의 예에서 우리는 작업 내용을 관찰 할 수 있습니다.사이클은 제어 변수 i와 절대적으로 독립적이며, 반복 횟수는 exit 변수가 true 일 때만 의존합니다. 또한, 제어 변수는 루프에서 완전히 제거 될 수 있으며 작동에 영향을 미치지 않습니다. for (;! exit;) {}. 이것이 가장 합리적인 프로그래밍 방식은 아니지만 때로는 유용 할 수 있습니다. 가장 중요한 것은 변수가 무한 값으로 변환되지 않도록 루프를 빠져 나가는 데 필요한 값을 취하는 상황을 제공하는 것입니다.

Java의 경우 루프를 선언 할 수 있으므로way : for (;;) {}. 이것은 특별한 인터럽트 조건을 가진 무한 루프의 전형적인 예입니다. 이런 종류의주기를 방해하는 방법에 관해서는 나중에 조금 이야기 할 것입니다.

각 스타일의 순환

자바 foreach 루프는 항상 for에 사용됩니다.배열 또는 일부 데이터 구조의 요소를 순차적으로 검색하고 특정 데이터 구조를 반복적으로 실행합니다. 다음은 for 문에 대한이 형식의 예입니다.

foreach 자바 루프

반복 변수가 선언되었습니다.이름 및 이전에 선언 된 문자열 이름의 배열은 연산자의 두 번째 인수로 사용됩니다. 변수 이름은 모든 요소가 추출 될 때까지 한 번에 하나씩 배열의 각 요소 값을 가져옵니다. 변수의 유형은 배열에 저장된 요소의 유형과 호환 가능해야합니다. 또한 name 변수는 읽기 전용이며 변수를 변경하려고해도 배열의 요소 자체는 변경되지 않습니다.

사이클 인터럽트 연산자

루프에는 3 개의 인터럽트 연산자가 있습니다.끊고, 돌아오고, 계속하십시오. 처음 두 개는 루프를 완전히 인터럽트 할 수 있고 현재 반복의 조작 만 인터럽트를 계속할 수 있습니다. 코드에서 의도적으로 무한한 Java주기를 사용하는 경우 이러한 연산자가 있어야합니다. break를 사용하는 간단한 예제를 생각해보십시오.

자바 루프를 끝내라.

counter for i가 7 일 때 break 문이있는 본문의 조건이 작동하기 때문에 11 개의 반복이 for 문에서 제공되지만 8 개만 실행됩니다.

return 문은 유사한 방식으로 작동하지만 차이점은 Java 루프의 종료점을 제공 할뿐만 아니라이 루프가있는 메소드에서 종료된다는 점입니다.

goto로 나누기 사용

휴식은 일을 방해한다는 것을 명심해야한다.시체가 직접 위치하는 사이클, 즉 중첩 루프에서이 루프를 사용하면 외부 루프가 작동하지 않습니다. 이를 위해 break 문은 문명 형태의 goto로 사용할 수 있습니다.

이 변형에서이 연산자는에서 사용됩니다.사이클뿐만 아니라 모든 코드 블록에서 출력을 구성 할 수있는 레이블이있는 번들입니다. 레이블은 그 뒤에 콜론이있는 적절한 이름의 식별자입니다. 레이블은 표시된 코드 블록의 시작 부분에 선언됩니다. 표시된 블록의 실행을 중단하려면 올바른 위치에서 break name_name을 선언해야합니다. 아래 그림의 예를 고려하십시오.

무한 자바 루프

코드는 레이블 이름이 3 블록임을 선언했습니다. One,각각 2 명과 3 명. 두 레이블이있는 break 문은 세 블록 모두에 포함되지만 트리거되면 프로그램은 Three 및 Two 블록을 종료하고 One 블록에서 계속 실행합니다. 즉 콘솔에서 우리는 세 가지 메시지와 한 가지 메시지를 볼 수 있습니다.

결론

우리는 Java의 루프 개념에 대해 배웠습니다.while과 for의 주요 연산자와 각각의 형식은 각각 다릅니다. 이해를 돕기 위해 여러 가지 형태로 이러한 연산자를 사용하여 연습을 수행하고 여러 가지 방법으로 인터럽트를 중단하고 한 블록에서 다른 블록으로 이동하는 것이 좋습니다.