English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
在本教程中,我们将通过示例学习如何在Java中使用while和do...while循环,并且还将学习while循环在计算机编程中的工作方式
在计算机编程中,循环用于重复特定的代码块,直到满足特定条件(测试表达式为false)为止。例如,
想象一下,我们需要在屏幕上打印一个句子50次。好吧,我们可以通过使用print语句50次(不使用循环)来做到这一点。您需要打印一百万次句子吗?您需要使用循环。使用循环,我们可以只编写一次print语句,然后运行任意次数。
这只是一个简单的示例,展示了循环在计算机编程中的重要性。Java中有3有几种循环类型:for循环,while循环和do-while循环。
Java中while循环的语法为:
while (testExpression) { // while循环体中的代码 }
在上述语法中,括号内的测试表达式(testExpression)为布尔表达式。如果测试表达式(testExpression)的计算结果为true,
while循环内的语句将被执行。
然后,再次评估测试表达式(testExpression)。
这个过程一直进行,直到测试表达式被评估为false。如果测试表达式的计算结果为false,
如果测试表达式为false,则while循环被终止。
//程序打印行10次 class Loop { public static void main(String[] args) { int i = 1; while (i <= 10) { System.out.println("行\t" + i); ++i; } } }
Salida:
行 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到10La suma de los números naturales entre 0 y. class AssignmentOperator { public static void main(String[] args) { int sum = 0, i = 100; while (i != 0) { suma += i; // es equivalente a sum = sum + i; --i; } System.out.println("Suma = " + suma); } }
Salida:
Suma = 5050
Aquí, tenemos dos variables llamadas sum, i, cuyos valores iniciales son 0 y100。
En cada iteración del bucle while,
Asignar un valor a la variable sum: sum + i
El valor de i disminuye1
El bucle continúa hasta que el valor de i sea 0.
1st repetición: i = 100, sum = 0+100 = 100, simultáneamente --i = 99 2nd repetición: i = 99, sum = 100+99 = 199, simultáneamente --i = 98 3rd repetición: i = 98, sum = 199+98 = 297, simultáneamente --i = 97 ... .. ... ... .. ... 99th repetición: i = 2, sum = 5047+2 = 5049, simultáneamente --i = 1 100th repetición: i = 1, sum = 5049+1 = 5050, simultáneamente --i = 0
El bucle do...while es similar al bucle while, pero hay una diferencia clave, ya que se ejecuta el cuerpo del bucle una vez antes de verificar la expresión de prueba.
Esta es la sintaxis del bucle do...while.
do { // El código dentro del bucle do...while } while (testExpression);
El cuerpo del bucle do...while se ejecuta una vez (antes de verificar la expresión de prueba). Solo así se verificará la expresión de prueba.
Si la expresión de prueba se calcula como true, se ejecuta el código del cuerpo del bucle y se vuelve a calcular la expresión de prueba. Este proceso continúa hasta que la expresión de prueba se calcule como false.
Cuando la expresión de prueba es false, el bucle do..while finaliza.
El siguiente programa calcula la suma de los números ingresados por el usuario hasta que ingrese 0.
Para aceptar la entrada del usuario, utilizamos el objeto Scanner. Para obtener más información sobre Scanner, visiteJava Scanner。
import java.util.Scanner; class Sum { public static void main(String[] args) { Double number, sum = 0.0; //Crear un objeto de la clase Scanner Scanner input = new Scanner(System.in); do { //Aceptar la entrada del usuario System.out.print("Ingrese un número: "); number = input.nextDouble(); suma += number; } while (number != 0.0); //Expresión de prueba System.out.println("Suma = " + suma); } }
Salida:
Ingrese un número: 2.5 Ingrese un número: 23.3 Ingrese un número: -4.2 Ingrese un número: 3.4 Ingrese un número: 0 Suma = 25.0
Debemos ser cautelosos al usar bucles. Porque si configuramos incorrectamente la expresión de prueba para que nunca sea falsa, los bucles while y do ... while seguirán ejecutándose para siempre.
Esto es lo que se conoce como bucle while infinito y do...while. Por ejemplo:
//Bucle while infinito while (true) { //Cuerpo del bucle while }
Vamos a dar un ejemplo
//Bucle while infinito int i = 100; while (i == 100) { System.out.print("Hey!"); }
El funcionamiento del bucle do...while infinito es similar al del bucle while.