거의 모든 언어에서와 같이 Java에서프로그래밍에는 특정 코드 조각 또는주기를 여러 번 반복하는 도구가 있습니다. Java의 루프는 for 및 while과 같은 문과 그 변형으로 표시됩니다. 일반적으로 루프는 특정 요소와 추가 작업을 찾기 위해 1 차원 및 다차원 배열과 반복 가능한 데이터 구조 (컬렉션 포함)를 반복하는 데 사용됩니다. 그러나 이것이 Java 루프와 같은 도구를 사용하는 유일한 방법은 아닙니다. 고려되는대로 사용 예가 제공됩니다.
Java while 루프 : 설명 및 예제
Java의 기본 루프 연산자는 다음과 같습니다.동안. 본문에 포함 된 코드 조각은 진리의 논리 값을 만족 한 후 괄호로 묶인 표현식의 조건이 충족되는 한 반복됩니다. while 문의 일반적인 형식은 다음과 같습니다.
while (조건) {
//주기의 본문
}
논리적 조건의 값이 참이되지 않으면 루프 본문에 포함 된 코드가 실행을 중지하고 제어가 바로 다음 줄로 전송됩니다.
명확성을 위해 아래 그림에 표시된 예를 살펴 보겠습니다.
선언 된 변수 수는 처음에값 1. 다음으로 연산자 이름 뒤에 괄호로 묶인 논리 표현식이 표시됩니다. 그것은 사실 일 것입니다. count 변수의 값이 10보다 작거나 같으면 true를 반환합니다. 루프 본문에서 각 패스 (반복)마다 변수 값이 1 씩 증가하고 콘솔 화면에 표시됩니다. 변수가 11에 도달하면 루프 실행이 중지됩니다.
변수 개수의 값이 처음에 11과 같으면 루프 조건은 거짓이되고 프로그램은 본문에 들어가지도 않습니다.
Java 구문이본문없이 while 문을 사용하십시오. 예를 들어 보겠습니다. 두 개의 변수 i = 100 및 j = 200이 있다고 가정 해 봅시다. 프로그래밍 방식으로 산술 평균을 계산하는 작업에 직면 해 있습니다.이 경우 "hollow"를 사용할 수 있습니다.
동안 (++ 나는 <-j);
결과적으로 두 변수 중 하나의 값은 원래 값의 평균과 같습니다. 보시다시피 루프는 본문없이 잘 작동했으며 조건식에서 필요한 모든 작업을 수행했습니다.
Do-while 루프
이전 예에서 조건식이처음에 거짓을 반환하면 프로그램 실행은 루프 본문을 무시하고 계속 진행합니다. 그러나 조건식의 진실에 관계없이 루프 본문에 포함 된 코드의 실행이 적어도 한 번은 필수 인 상황이 종종 발생합니다. 즉, 처음이 아닌주기의 끝에서 조건식의 진실을 확인해야하는 상황이 발생한다. do-while이라는 while 루프의 변형이이 기능을 제공 할 수 있습니다. 형식은 다음과 같습니다.
하다 {
//주기의 본문
} while (조건);
보시다시피, 먼저 루프의 본문이 실행되고 그 후에 만 조건의 진실이 확인됩니다.
위의 코드는 다음과 같이 작동합니다.일반 시간과 동일합니다. 그러나 변수 개수에 값 11을 할당 한 경우 연산자가 표현식이 참인지 테스트하기 전에 루프 본문이 한 번만 실행됩니다.
설명 및 예-Java 루프
for 루프는 다목적이며Java의 효율적인 언어 형식입니다. Java SDK의 다섯 번째 버전 이전에는 for 문에 대한 전통적인 형식이 하나만 있었지만 각각에 대해 새로운 형식이 나타났습니다. 이 섹션에서는 전통적인 연산자 형식에 대해 알아 봅니다. Java의 경우 루프는 다음과 같습니다.
제어가 본문의 코드로 이전되기 전루프, 먼저 변수 i가 카운터로 작동하도록 초기화됩니다. 다음으로 카운터가 특정 값과 비교되는 조건식을 확인하고 true를 반환하면 루프 본문이 실행됩니다. 그런 다음 카운터 값을 미리 결정된 단계로 변경하고 조건식을 다시 확인하는 식으로 조건이 거짓이 될 때까지 계속합니다. 아래 순서도는 사이클의 모든 단계를 보여줍니다.
더 나은 이해를 위해 다음은 for 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 루프는 매우 유연합니다.세 부분 (초기화, 조건 및 증가 / 감소) 모두 레이블을 벗어난 상태로 사용할 수 있으므로 구성합니다. 예를 들어, 제어 변수가있는 조건식 대신 부울 변수를 대체 할 수 있습니다.
부울 종료 = 거짓;
for (int i = 0 ;! exit; ++ i) {
종료 = 참;
}
위의 예에서 작업이루프는 제어 변수 i와 절대적으로 독립적이며 반복 횟수는 변수 종료가 참이되는 순간에만 의존합니다. 또한 제어 변수를 루프에서 완전히 제거 할 수 있으며 이는 어떤 식 으로든 작동에 영향을주지 않습니다 : for (;! Exit;) {}. 가장 현명한 프로그래밍 방법은 아니지만 때때로 유용 할 수 있습니다. 가장 중요한 것은 변수가 루프를 종료하는 데 필요한 값을 가져와 무한으로 전환하지 않는 상황을 예측하는 것입니다.
Java의 경우 다음과 같이 루프를 선언 할 수 있습니다.방법 : for (;;) {}. 이것은 특별한 인터럽트 조건이있는 무한 루프의 전형적인 예입니다. 이러한주기를 잠시 중단하는 방법에 대해 설명하겠습니다.
각 루프에 대해
Java foreach 루프는 항상 적용됩니다.배열 또는 일부 데이터 구조의 요소를 반복하고 이에 대해 특정 반복 작업을 수행합니다. 이 형식의 for 문의 예는 다음과 같습니다.
반복 변수가 선언됩니다.name 및 이전에 선언 된 문자열 이름 배열이 연산자에 대한 두 번째 인수 역할을합니다. 변수 이름은 모든 요소가 검색 될 때까지 배열의 각 요소 값을 차례로 가져옵니다. 변수의 유형은 배열에 저장된 요소의 유형과 호환되어야합니다. 또한 name 변수는 읽기 전용으로 사용할 수 있으며 변경 시도는 배열의 요소 자체를 변경하지 않습니다.
루프 인터럽트 문
세 가지 루프 인터럽트 문이 있습니다.휴식, 복귀 및 계속. 처음 두 개는 루프 작업을 완전히 중단 할 수있는 반면 계속은 현재 반복 작업 만 중단합니다. 코드에서 의도적으로 무한 Java 루프를 사용하는 경우 이러한 연산자가 있어야합니다. break 사용의 간단한 예를 살펴 보겠습니다.
이 for 문은 11 개의 반복을 제공하지만 i 카운터가 7이면 본문에 break 문이있는 조건이 트리거되기 때문에 8 개만 실행됩니다.
return 문은 비슷한 방식으로 작동하지만 Java 루프를 종료 할뿐만 아니라 루프가 배치 된 메소드도 종료한다는 차이점이 있습니다.
휴식을 goto로 사용
중단 인터럽트를 명심하십시오그것이 직접 위치하는 몸의 주기만, 즉. 중첩 루프에서 사용하면 외부 루프가 종료되지 않습니다. 이를 위해 break 문은 문명화 된 형태의 goto로 사용될 수 있습니다.
이 변형에서이 연산자는레이블과 함께 사용하면 루프뿐만 아니라 모든 코드 블록에서 출구를 구성 할 수 있습니다. 레이블은 적절하게 이름이 지정된 식별자 뒤에 콜론이 있습니다. 레이블은 마킹 할 코드 블록의 시작 부분에 선언됩니다. 표시된 블록의 실행을 중단하려면 올바른 위치에 break tag_name을 선언해야합니다. 아래 그림의 예를 고려하십시오.
코드는 One 레이블의 이름으로 세 개의 블록을 선언합니다.각각 2 개와 3 개. Two로 표시된 break 문은 세 블록 모두에 중첩되지만 트리거되면 프로그램은 Three 및 Two 블록을 종료하고 One 블록에서 실행을 계속합니다. 그. 콘솔에 3 개와 1 개의 메시지가 표시됩니다.
결론
우리는 자바에서 루프의 개념을 알게되었습니다.주 while 및 for 문, 각각의 do-while 및 각 형식에 대한 문. 더 나은 이해를 위해 이러한 연산자를 다양한 형태로 사용하는 연습과이를 중단하고 한 블록에서 다른 블록으로 이동하는 다양한 방법을 권장합니다.