산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> java

Java while & do-while 루프 단계별 튜토리얼

Java while 및 do...while 루프

이 튜토리얼에서는 예제와 함께 Java에서 while과 do while 루프를 사용하는 방법을 배웁니다.

컴퓨터 프로그래밍에서 루프는 코드 블록을 반복하는 데 사용됩니다. 예를 들어 메시지를 100번 표시하려면 루프를 사용할 수 있습니다. 단순한 예시지만 루프로 훨씬 더 많은 것을 달성할 수 있습니다.

이전 튜토리얼에서 Java for 루프를 배웠습니다. 여기서는 while과 do...while 루프를 배웁니다.


Java while 루프

Java while 루프는 특정 조건이 충족될 때까지 특정 코드를 실행하는 데 사용됩니다. while 루프의 구문은:

while (testExpression) {
    // 루프 본문
}

여기서

  1. while 루프는 괄호 () 안의 testExpression을 평가합니다.
  2. testExpression이 true로 평가되면 while 루프 안의 코드가 실행됩니다.
  3. testExpression이 다시 평가됩니다.
  4. 이 과정은 testExpression이 false가 될 때까지 계속됩니다.
  5. testExpression이 false로 평가되면 루프가 멈춥니다.

조건에 대해 더 알아보려면 Java 관계 및 논리 연산자 방문.


while 루프 흐름도

Java while & do-while 루프 단계별 튜토리얼

예제 1: 1부터 5까지 숫자 표시

// 1부터 5까지 숫자 표시 프로그램
class Main {
    public static void main(String[] args) {
        // 변수 선언
        int i = 1, n = 5;
        // 1부터 5까지 while 루프
        while(i <= n) {
            System.out.println(i);
            i++;
        }
    }
}

출력

1
2
3
4
5

이 프로그램이 어떻게 작동하는지:

반복변수조건: i <= n작업
1번째i = 1
n = 5
true1 출력.
i가 2로 증가.
2번째i = 2
n = 5
true2 출력.
i가 3으로 증가.
3번째i = 3
n = 5
true3 출력.
i가 4로 증가.
4번째i = 4
n = 5
true4 출력.
i가 5로 증가.
5번째i = 5
n = 5
true5 출력.
i가 6으로 증가.
6번째i = 6
n = 5
false루프 종료

예제 2: 양수만 합계 구하기

// 양수의 합을 찾는 Java 프로그램
import java.util.Scanner;
class Main {
    public static void main(String[] args) {
        int sum = 0;
        // Scanner 클래스 객체 생성
        Scanner input = new Scanner(System.in);
        // 사용자로부터 정수 입력 받기
        System.out.println("숫자를 입력하세요");
        int number = input.nextInt();
        // 입력된 숫자가 양수인 동안 while 루프 계속
        while (number >= 0) {
            // 양수만 더하기
            sum += number;
            System.out.println("숫자를 입력하세요");
            number = input.nextInt();
        }
        System.out.println("Sum = " + sum);
        input.close();
    }
}

출력

숫자를 입력하세요
25
숫자를 입력하세요
9
숫자를 입력하세요
5
숫자를 입력하세요
-3
Sum = 39

위 프로그램에서 사용자 입력을 받기 위해 Scanner 클래스를 사용했습니다. 여기서 nextInt()는 사용자로부터 정수 입력을 받습니다.

while 루프는 사용자가 음수를 입력할 때까지 계속됩니다. 각 반복에서 사용자가 입력한 숫자가 sum 변수에 더해집니다.

사용자가 음수를 입력하면 루프가 종료되고 최종 합계가 표시됩니다.


Java do...while 루프

do...while 루프는 while 루프와 유사합니다. 그러나 do...while 루프의 본문은 테스트 표현식이 확인되기 전에 한 번 실행됩니다. 예:

do {
    // 루프 본문
} while(textExpression);

여기서

  1. 루프 본문이 먼저 실행됩니다. 그런 다음 textExpression이 평가됩니다.
  2. textExpression이 true로 평가되면 do 문 안의 루프 본문이 다시 실행됩니다.
  3. textExpression이 다시 한 번 평가됩니다.
  4. textExpression이 true로 평가되면 do 문 안의 루프 본문이 다시 실행됩니다.
  5. 이 과정은 textExpression이 false로 평가될 때까지 계속됩니다. 그러면 루프가 멈춥니다.

do...while 루프 흐름도

Java while & do-while 루프 단계별 튜토리얼

do...while 루프의 작동을 봅시다.

예제 3: 1부터 5까지 숫자 표시

// 1부터 5까지 숫자 표시 Java 프로그램
import java.util.Scanner;
// 1부터 100까지 자연수의 합을 찾는 프로그램
class Main {
    public static void main(String[] args) {
        int i = 1, n = 5;
        // 1부터 5까지 do...while 루프
        do {
            System.out.println(i);
            i++;
        } while(i <= n);
    }
}

출력

1
2
3
4
5

이 프로그램이 어떻게 작동하는지:

반복변수조건: i <= n작업
i = 1
n = 5
확인 안 함1 출력.
i가 2로 증가.
1번째i = 2
n = 5
true2 출력.
i가 3으로 증가.
2번째i = 3
n = 5
true3 출력.
i가 4로 증가.
3번째i = 4
n = 5
true4 출력.
i가 5로 증가.
4번째i = 5
n = 5
true5 출력.
i가 6으로 증가.
5번째i = 6
n = 5
false루프 종료

예제 4: 양수의 합

// 양수의 합을 찾는 Java 프로그램
import java.util.Scanner;
class Main {
    public static void main(String[] args) {
        int sum = 0;
        int number = 0;
        // Scanner 클래스 객체 생성
        Scanner input = new Scanner(System.in);
        // 입력된 숫자가 양수일 때까지 do...while 루프 계속
        do {
            // 양수만 더하기
            sum += number;
            System.out.println("숫자를 입력하세요");
            number = input.nextInt();
        } while(number >= 0);
        System.out.println("Sum = " + sum);
        input.close();
    }
}

출력 1

숫자를 입력하세요
25
숫자를 입력하세요
9
숫자를 입력하세요
5
숫자를 입력하세요
-3
Sum = 39

여기서 사용자가 양수를 입력하면 그 숫자가 sum 변수에 더해집니다. 이 과정은 숫자가 음수가 될 때까지 계속됩니다. 숫자가 음수이면 루프가 종료되고 음수를 더하지 않고 합계를 표시합니다.

출력 2

숫자를 입력하세요
-8
Sum is 0

여기서 사용자가 음수를 입력합니다. 테스트 조건은 false가 되지만 루프 안의 코드는 한 번 실행됩니다.


무한 while 루프

조건이 항상 true이면 루프는 무한히 실행됩니다(메모리가 찰 때까지). 예:

// 무한 while 루프
while(true){
    // 루프 본문
}

무한 do...while 루프 예제:

// 무한 do...while 루프
int count = 1;
do {
    // 루프 본문
} while(count == 1)

위 프로그램에서 textExpression은 항상 true입니다. 따라서 루프 본문은 무한히 실행됩니다.


for 루프와 while 루프

for 루프는 반복 횟수가 알려져 있을 때 사용됩니다. 예:

for (let i = 1; i <=5; ++i) {
    // 루프 본문
}

while과 do...while 루프는 일반적으로 반복 횟수가 알려지지 않았을 때 사용됩니다. 예:

while (condition) {
    // 루프 본문
}

java

  1. Java 변수와 리터럴: 종합 가이드
  2. Java 표현식, 문장, 블록 이해하기
  3. Java 향상된 for 루프(for-each) 완벽 가이드: 문법, 예제, 비교
  4. Java 클래스와 객체: 실전 가이드
  5. Java 추상 클래스와 메서드 완벽 가이드
  6. Java 중첩/내부 클래스 마스터: 종류, 예제, 모범 사례
  7. Java throw vs throws: 예외 처리 실전 예제로 마스터하기
  8. Java 오토박싱과 언박싱 마스터하기: 실전 예제와 모범 사례
  9. While vs Do-While 루프: 실전 예제로 명확히 이해하기
  10. 자바 팰린드롬 수 판별기: while/for 루프 알고리즘