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

자바 while 및 do...while 루프

자바 while 및 do...while 루프

이 튜토리얼에서는 예제를 통해 Java에서 while 루프를 사용하고 수행하는 방법을 배웁니다.

컴퓨터 프로그래밍에서 루프는 코드 블록을 반복하는 데 사용됩니다. 예를 들어 메시지를 100번 보여주고 싶다면 루프를 사용할 수 있습니다. 이것은 단순한 예일 뿐입니다. 루프를 사용하면 훨씬 더 많은 것을 얻을 수 있습니다.

이전 튜토리얼에서 Java for 루프에 대해 배웠습니다. 여기에서 while에 대해 배울 것입니다. 및 do...while 루프.

<시간>

자바 루프

자바 while 루프는 특정 조건이 충족될 때까지 특정 코드를 실행하는 데 사용됩니다. while 구문 루프는 다음과 같습니다.

while (testExpression) {
    // body of loop
}

여기,

  1. while 루프는 textExpression을 평가합니다. 괄호 () 안 .
  2. textExpression true로 평가 , while 안의 코드 루프가 실행됩니다.
  3. 텍스트 표현식 다시 평가됩니다.
  4. 이 프로세스는 textExpression까지 계속됩니다. false입니다. .
  5. textExpression false로 평가 , 루프가 중지됩니다.

조건에 대해 자세히 알아보려면 Java 관계형 및 논리 연산자를 방문하세요.

<시간>

while 루프의 순서도

<그림> <시간>

예 1:1에서 5까지의 숫자 표시

// Program to display numbers from 1 to 5

class Main {
  public static void main(String[] args) {

    // declare variables
    int i = 1, n = 5;

    // while loop from 1 to 5
    while(i <= n) {
      System.out.println(i);
      i++;
    }
  }
}

출력

1
2
3
4
5

이 프로그램의 작동 방식은 다음과 같습니다.

반복 변수 조건:나는 <=n 액션
첫 번째 i = 1
n = 5
true 1 가 인쇄됩니다.
2로 증가 .
두 번째 i = 2
n = 5
true 2 가 인쇄됩니다.
3으로 증가 .
세 번째 i = 3
n = 5
true 3 가 인쇄됩니다.
4로 증가 .
4번째 i = 4
n = 5
true 4 가 인쇄됩니다.
5로 증가 .
5번째 i = 5
n = 5
true 5 가 인쇄됩니다.
6으로 증가 .
6번째 i = 6
n = 5
false 루프가 종료되었습니다
<시간>

예시 2:양수만 합

// Java program to find the sum of positive numbers
import java.util.Scanner;

class Main {
  public static void main(String[] args) {
      
    int sum = 0;

    // create an object of Scanner class
    Scanner input = new Scanner(System.in);

    // take integer input from the user
    System.out.println("Enter a number");
    int number = input.nextInt();
	   
    // while loop continues 
    // until entered number is positive
    while (number >= 0) {
      // add only positive numbers
      sum += number;

      System.out.println("Enter a number");
      number = input.nextInt();
    }
	   
    System.out.println("Sum = " + sum);
    input.close();
  }
}

출력

Enter a number
25
Enter a number
9
Enter a number
5
Enter a number
-3
Sum = 39

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

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

사용자가 음수를 입력하면 루프가 종료됩니다. 마지막으로 총 합계가 표시됩니다.

<시간>

자바 do...while 루프

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

do {
    // body of loop
} while(textExpression);

여기,

  1. 루프의 본문이 처음에 실행됩니다. 그런 다음 textExpression 평가됩니다.
  2. textExpression true으로 평가 , do 내부 루프의 본문 문이 다시 실행됩니다.
  3. 텍스트 표현식 다시 한 번 평가됩니다.
  4. textExpression true로 평가 , do 내부 루프의 본문 문이 다시 실행됩니다.
  5. 이 프로세스는 textExpression까지 계속됩니다. false로 평가 . 그런 다음 루프가 중지됩니다.
<시간>

do...while 루프의 순서도

<그림> <시간>

do...while의 작동 방식을 살펴보겠습니다. 루프.

예 3:1에서 5까지의 숫자 표시

// Java Program to display numbers from 1 to 5

import java.util.Scanner;

// Program to find the sum of natural numbers from 1 to 100.

class Main {
  public static void main(String[] args) {

    int i = 1, n = 5;

    // do...while loop from 1 to 5
    do {
      System.out.println(i);
      i++;
    } while(i <= n);
  }
}

출력

1
2
3
4
5

이 프로그램의 작동 방식은 다음과 같습니다.

반복 변수 조건:나는 <=n 액션
  i = 1
n = 5
확인되지 않음 1 가 인쇄됩니다.
2로 증가 .
1위 i = 2
n = 5
true 2 가 인쇄됩니다.
3으로 증가 .
두 번째 i = 3
n = 5
true 3 가 인쇄됩니다.
4로 증가 .
세 번째 i = 4
n = 5
true 4 가 인쇄됩니다.
5로 증가 .
4번째 i = 5
n = 5
true 6 가 인쇄됩니다.
6으로 증가 .
5번째 i = 6
n = 5
false 루프가 종료되었습니다
<시간>

예시 4:양수의 합

// Java program to find the sum of positive numbers
import java.util.Scanner;

class Main {
  public static void main(String[] args) {
      
    int sum = 0;
    int number = 0;

    // create an object of Scanner class
    Scanner input = new Scanner(System.in);
	   
    // do...while loop continues 
    // until entered number is positive
    do {
      // add only positive numbers
      sum += number;
      System.out.println("Enter a number");
      number = input.nextInt();
    } while(number >= 0); 
	   
    System.out.println("Sum = " + sum);
    input.close();
  }
}

출력 1

Enter a number
25
Enter a number
9
Enter a number
5
Enter a number
-3
Sum = 39

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

출력 2

Enter a number
-8
Sum is 0

여기서 사용자는 음수를 입력합니다. 테스트 조건은 false입니다. 그러나 루프 내부의 코드는 한 번만 실행됩니다.

<시간>

무한 루프

조건인 경우 루프는 항상 true입니다. , 루프는 무한 시간 동안 실행됩니다(메모리가 가득 찰 때까지). 예를 들어,

// infinite while loop
while(true){
    // body of loop
}

다음은 무한 do...while의 예입니다. 루프.

// infinite do...while loop
int count = 1;
do {
   // body of loop
} while(count == 1)

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

<시간>

for 및 while 루프

for 루프는 반복 횟수를 알 때 사용됩니다. 예를 들어,

for (let i = 1; i <=5; ++i) {
   // body of loop
}

그리고 whiledo...while 루프는 일반적으로 반복 횟수를 알 수 없을 때 사용됩니다. 예를 들어,

while (condition) {
    // body of loop
}

java

  1. 자바 변수와 리터럴
  2. Java 표현식, 명령문 및 블록
  3. 자바 for-each 루프
  4. 자바 클래스와 객체
  5. 자바 추상 ​​클래스와 추상 메소드
  6. Java 중첩 및 내부 클래스
  7. 자바 던지기 및 던지기
  8. 자바 오토박싱과 언박싱
  9. while과 do-while의 차이점:예제와 함께 설명
  10. while 및 for 루프를 사용하는 Java의 회문 수 프로그램