Java의 루프 명령문 블록을 반복적으로 실행해야 할 때 사용됩니다. 자바 for 루프 루프 구조를 작성하는 간결한 방법을 제공합니다. for 문은 초기화, 조건, 증가/감소를 한 줄로 소비하여 더 짧고 디버그하기 쉬운 루프 구조를 제공합니다. 예제를 통해 Java for 루프를 이해해 봅시다.
통사론:
for (initialization expr; test expr; update exp) { // body of the loop // statements we want to execute }> Java For 루프의 일부
Java for 루프는 아래와 같이 다양한 부분으로 나뉩니다.
- 초기화 표현식
- 테스트 표현식
- 표현식 업데이트
1. 초기화 표현식
이 표현식에서는 루프 카운터를 특정 값으로 초기화해야 합니다.
예:
int i=1;>
2. 테스트 표현식
이 표현식에서는 조건을 테스트해야 합니다. 조건이 true로 평가되면 루프 본문을 실행하고 업데이트 표현식으로 이동합니다. 그렇지 않으면 for 루프를 종료합니다.
예:
i <= 10>
삼. 표현식 업데이트 :
루프 본문을 실행한 후 이 표현식은 루프 변수를 특정 값만큼 증가/감소시킵니다.
예:
i++;>
For 루프는 어떻게 작동하나요?
- 제어는 for 루프에 속합니다. 초기화가 완료되었습니다
- 흐름이 조건으로 점프합니다.
- 상태가 테스트되었습니다.
- Condition이 true를 산출하면 흐름이 Body로 들어갑니다.
- 조건이 거짓을 산출하면 흐름은 루프 밖으로 나갑니다.
- 루프 본문 내부의 명령문이 실행됩니다.
- 흐름은 업데이트로 이동합니다.
- 업데이트가 이루어지고 흐름이 다시 3단계로 진행됩니다.
- for 루프가 종료되고 흐름이 외부로 나갔습니다.
Java의 for 루프에 대한 흐름도

Java의 루프 흐름도
Java For 루프의 예
예시 1: ( 이 프로그램은 1부터 10까지 인쇄합니다)
자바
/*package whatever //do not write package name here */> // Java program to write a code in for loop from 1 to 10> class> GFG {> >public> static> void> main(String[] args)> >{> >for> (>int> i =>1>; i <=>10>; i++) {> >System.out.println(i);> >}> >}> }> |
>
>산출
1 2 3 4 5 6 7 8 9 10>
예시 2: 이 프로그램은 Hello World를 5번 인쇄하려고 시도합니다.
자바
자바스크립트의 콜백 지옥
// Java program to illustrate for loop> class> forLoopDemo {> >public> static> void> main(String args[])> >{> >// Writing a for loop> >// to print Hello World 5 times> >for> (>int> i =>1>; i <=>5>; i++)> >System.out.println(>'Hello World'>);> >}> }> |
>
>산출
Hello World Hello World Hello World Hello World Hello World>
방법의 복잡성:
시간 복잡도: 오(1)
보조 공간 : 오(1)
공회전 실시예 1
프로그램은 다음과 같은 방식으로 실행됩니다.
- 프로그램이 시작됩니다.
- i는 값 1로 초기화됩니다.
- 상태가 확인됩니다. 1 <= 5는 참이 됩니다.
- Hello World가 처음으로 인쇄됩니다.
- 업데이트가 완료되었습니다. 이제 나는 = 2입니다.
- 상태가 확인됩니다. 2 <= 5는 참이 됩니다.
- Hello World가 두 번째로 인쇄됩니다.
- 업데이트가 완료되었습니다. 이제 나는 = 3이다.
- 상태가 확인됩니다. 3 <= 5는 참이 됩니다.
- Hello World가 세 번째로 인쇄됩니다.
- 업데이트가 완료되었습니다. 이제 나는 = 4입니다.
- 상태가 확인됩니다. 4 <= 5는 참이 됩니다.
- Hello World가 네 번째로 인쇄됩니다.
- 업데이트가 완료되었습니다. 이제 나는 = 5입니다.
- 상태가 확인됩니다. 5 <= 5는 참이 됩니다.
- Hello World가 5번째로 인쇄됩니다.
- 업데이트가 완료되었습니다. 이제 나는 = 6이다.
- 상태가 확인됩니다. 6 <= 5는 거짓을 산출합니다.
- 흐름이 루프 외부로 이동합니다. 프로그램이 종료됩니다.
예시 3: (프로그램은 1부터 20까지의 x의 합을 인쇄합니다.)
자바
// Java program to illustrate for loop.> class> forLoopDemo {> >public> static> void> main(String args[])> >{> >int> sum =>0>;> >// for loop begins> >// and runs till x <= 20> >for> (>int> x =>1>; x <=>20>; x++) {> >sum = sum + x;> >}> >System.out.println(>'Sum: '> + sum);> >}> }> |
>
>산출
Sum: 210>
Java의 중첩 For 루프
Java Nested For Loop는 다른 for 루프 안에 for 루프를 사용하는 개념입니다(nested if-else를 사용하는 것과 유사). 아래에 언급된 예를 통해 이를 이해해 보겠습니다.
자바
// Java Program to implement> // Nested for loop> import> java.io.*;> // Driver Class> class> GFG {> >// main function> >public> static> void> main(String[] args)> >{> >// Printing a 1 to 5 (5 times)> >// first loop> >for> (>int> i =>1>; i <=>5>; i++) {> >// second loop> >for> (>int> j =>1>; j <=>5>; j++) {> >System.out.print(j +>' '>);> >}> >System.out.println();> >}> >}> }> |
>
>산출
1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5>
중첩 루프에 대한 자세한 내용은 다음을 참조하세요. Java의 중첩 루프 .
Java For-Each 루프
향상된 For 루프 또는 Java For-Each 루프 ~에 Java는 Java 5에 도입된 for 루프의 또 다른 버전입니다. 향상된 for 루프는 컬렉션이나 배열의 요소를 반복하는 더 간단한 방법을 제공합니다. 이는 유연성이 없으며 현재 처리된 요소의 인덱스를 알지 못한 채 순차적인 방식으로 요소를 반복해야 하는 경우에만 사용해야 합니다.
메모: 향상된 for 루프를 사용할 때 객체/변수는 변경할 수 없습니다. 즉, 배열의 값을 수정할 수 없도록 보장하므로 다른 루프와 달리 값을 업데이트할 수 없는 읽기 전용 루프라고 할 수 있습니다. 여기서 값을 수정할 수 있습니다.
통사론:
for (T element:Collection obj/array) { // loop body // statement(s) }> 향상된 for 루프를 사용하여 작업을 단순화하는 방법을 보여주는 예를 들어 보겠습니다. 이름 배열이 있고 그 배열에 있는 모든 이름을 인쇄하고 싶다고 가정합니다. 이 간단한 구현을 통해 이 두 예제의 차이점을 살펴보겠습니다.
자바
C의 행렬 곱셈
// Java program to illustrate enhanced for loop> public> class> enhancedforloop {> >// Main Function> >public> static> void> main(String args[])> >{> >// String array> >String array[] = {>'Ron'>,>'Harry'>,>'Hermoine'> };> >// enhanced for loop> >for> (String x : array) {> >System.out.println(x);> >}> >/* for loop for same function> >for (int i = 0; i { System.out.println(array[i]); } */ } }> |
>
>산출
Ron Harry Hermoine>
위 방법의 복잡성:
시간 복잡도: 오(1)
보조 공간 : 오(1)
추천: 가능할 때마다 일반적인 형식 대신 이 형식의 진술을 사용하십시오. (JAVA 문서에 따름)
자바 프로그램
Java 무한 for 루프
조건이 결코 false를 반환하지 않으므로 이는 무한 루프입니다. 초기화 단계는 변수 i의 값을 1로 설정하는 것입니다. i의 값이 증가하므로 항상 1보다 커서 false를 반환하지 않습니다. 이는 결국 무한 루프 상태로 이어집니다.
예:
자바
// Java infinite loop> class> GFG {> >public> static> void> main(String args[])> >{> >for> (>int> i =>1>; i>=>1>; i++) {> >System.out.println(>'Infinite Loop '> + i);> >}> >}> }> |
>
>
산출
Infinite Loop 1 Infinite Loop 2 ...>
무한 루프를 호출하는 또 다른 방법이 있습니다
2개를 사용한다면 세미콜론;; for 루프에서는 for 루프에 대해 부정사가 됩니다.
통사론:
for(;;){ //code to be executed }> 예:
자바
public> class> GFG {> >public> static> void> main(String[] args)> >{> >for> (;;) {> >System.out.println(>'infinitive loop'>);> >}> >}> }> |
>
>
산출
infinitive loop infinitive loop ....>
Java for Loop에 대한 FAQ
1. Java의 for 루프란 무엇입니까?
Java에서 For 루프는 조건이 충족될 때까지 블록 코드를 반복 실행하는 데 사용되는 루프 유형입니다.
2. for 루프의 구문은 무엇입니까?
for 루프의 구문은 다음과 같습니다.
for (initialization expr; test expr; update exp) { // body of the loop // statements we want to execute }> 3. for 루프가 사용되는 이유는 무엇입니까?
For 루프는 알려진 횟수만큼 동일한 명령문을 반복해야 할 때 사용됩니다.
필수 참조:
- Java의 루프
- Java의 For 루프 | 중요사항
- Java의 for 루프 이해
- 예제가 포함된 Java while 루프
- 예제가 포함된 Java do-while 루프
- Java의 For-each 루프
- C, C++, Java의 for 루프와 while 루프의 차이점
- C, C++, Java의 for 루프와 do-while 루프의 차이점