English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
이 튜토리얼에서는 예제를 통해 Java에서 while와 do...while 루프를 사용하는 방법을 배우고, while 루프가 컴퓨터 프로그래밍에서 어떻게 작동하는지 배우겠습니다.
컴퓨터 프로그래밍에서는 루프는 특정 조건(테스트 표현식이 false)을 만족할 때까지 특정 코드 블록을 반복하는 데 사용됩니다. 예를 들어,
그렇다면, 화면에 문장을 인쇄해야 한다고 상상해 보세요50번.50번(루프를 사용하지 않음)으로 이를 수행할 수 있습니다. 천만 번 문장을 인쇄해야 합니까? 루프를 사용해야 합니다. 루프를 사용하면 한 번에 print 문을 작성하여 무한히 실행할 수 있습니다.
이것은 단순한 예제로, 컴퓨터 프로그래밍에서 루프의 중요성을 보여줍니다. Java에서는3의 루프 유형이 있습니다:for循环,while循环과 do-while循环。
Java에서 while循环의 문법은 다음과 같습니다:
while (testExpression) { // while循环体内的 코드 }
이 문법에서 괄호 내의테스트표현식(testExpression)은 부울 표현식입니다. 테스트 표현식(testExpression)의 계산 결과가 true라면
while 루프 내의 문장이 실행됩니다。
그런 다음 테스트 표현식(testExpression)을 다시 평가합니다。
이 과정은 테스트 표현식이 false로 평가될 때까지 계속됩니다. 테스트 표현식의 계산 결과가 false라면
그렇다면 while循环이 종료됩니다。
//프로그램이 행을 인쇄합니다10번 class Loop { public static void main(String[] args) { int i = 1; while (i <= 10) { System.out.println("라인 " + i); ++i; } } }
출력:
라인 1 라인 2 라인 3 라인 4 라인 5 라인 6 라인 7 라인 8 라인 9 라인 10
위의 예제에서 테스트 표현식(i <= 10)。그것은 i의 값이 작은지 또는 같은지 확인합니다10
초기에, 여기서 i의 값은1。따라서 테스트 표현식(testExpression)의 계산 결과는 true입니다. 따라서 while 루프 내의 print 문을 실행합니다.
请注意while循环内的语句
++i;
이 문장은 매번 반복하여 i 값을 증가시킵니다1。10번 반복 후, i의 값은11。그런 다음 테스트 표현식(i <= 10)가 false라면, 합계 while 루프가 종료됩니다.
테스트 표현식에 대한更多信息를 알고 싶다면 방문하세요Java 관계 연산자와Java 논리 연산자
//찾기 위해 프로그래밍1도100之间的自然数之和。 class AssignmentOperator { public static void main(String[] args) { int sum = 0, i = 100; while (i != 0) { sum += i; // 等同于 sum = sum + i; --i; } System.out.println("Sum = " + sum); } }
출력:
Sum = 5050
在这里,我们有两个名为sum,i的变量,其初始值分别为0和100。
在while循环的每次迭代中,
为sum变量分配值:sum + i
i的值减少1
循环一直进行到的值i等于0为止。
1st 重复: i = 100, sum = 0+100 = 100, 同时 --i = 99 2nd 重复: i = 99, sum = 100+99 = 199, 同时 --i = 98 3rd 重复: i = 98, sum = 199+98 = 297, 同时 --i = 97 ... .. ... ... .. ... 99th 重复: i = 2, sum = 5047+2 = 5049, 同时 --i = 1 100th 重复: i = 1, sum = 5049+1 = 5050, 同时 --i = 0
do...while循环类似于while循环,但是有个关键区别,在于在检查测试表达式之前,会执行循环主体一次。
这是do...while循环的语法。
do { // do...while循环体内的代码 } while (testExpression);
do...while循环主体执行一次(在检查测试表达式之前)。只有这样,测试表达式才会被检查。
如果测试表达式被计算为true,则执行循环体中的代码,并再次计算测试表达式。这个过程一直进行下去,直到测试表达式被计算为false为止。
当测试表达式为false时,do..while循环终止。
下面的程序计算用户输入的数字总和,直到用户输入0。
为了接受用户的输入,我们使用了Scanner对象。要了解更多信息Scanner,请访问Java Scanner
import java.util.Scanner; class Sum { public static void main(String[] args) { Double number, sum = 0.0; //创建一个Scanner类的对象 Scanner input = new Scanner(System.in); do { //接受用户的输入 System.out.print("输入一个数字: "); number = input.nextDouble(); sum += number; } while (number != 0.0); //테스트 표현식 System.out.println("Sum = " + sum); } }
출력:
하나의 숫자를 입력하세요: 2.5 하나의 숫자를 입력하세요: 23.3 하나의 숫자를 입력하세요: -4.2 하나의 숫자를 입력하세요: 3.4 하나의 숫자를 입력하세요: 0 Sum = 25.0
반복문을 사용할 때에는 항상 조심스럽게 해야 합니다. 이유는 테스트 표현식을 잘못 설정하여 false가 never가 되면 while과 do ... while 반복문이 영원히 실행될 수 있기 때문입니다.
이것이 무한 while과 do...while 반복문입니다. 예를 들어,
//무한 while 반복문 while (true) { //while 반복문 본문 }
다른 예제를 들어보겠습니다.
//무한 while 반복문 int i = 100; while (i == 100) { System.out.print("Hey!"); }
무한 do...while 반복문은 while 반복문과 유사하게 작동합니다.