Para declarar um loop infinito em Java, utilizamos os comandos while e do-while
vistos acima. As condições de validação recebem o valor ou expressão que sempre irá retornar
true.
Exemplo 8: while
import java.util.Scanner;
public class Main
{
public static void main(String[] args) {
//Scanner sc = new Scanner(System.in);
while(true)
{
Scanner sc = new Scanner(System.in);
System.out.print("Digite uma palavra:");
String entrada = sc.nextLine();
System.out.println("string digitada: " + entrada);
if (entrada.equals("quit")){
break;
}
}
}
}
Saída
Digite uma palavra:teste
string digitada: teste
Digite uma palavra:quit
string digitada: quit
Exemplo 8: do-while
import java.util.Scanner;
public class Main
{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String entrada = new String();
do
{
System.out.print("Digite uma palavra:");
entrada = sc.nextLine();
System.out.println("string digitada: " + entrada);
if (entrada.equals("quit")){
break;
}
}
while(true);
}
}
Saída
Digite uma palavra:teste
string digitada: teste
Digite uma palavra:quit
string digitada: quit
Diferente dos comandos while e do-while, um loop infinito utilizando o
comando for não precisa ter seus campos preenchidos.
Exemplo 9: for
import java.util.Scanner;
public class Main
{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String entrada = new String();
for(;;) //loop infinito
{
System.out.print("Digite uma palavra:");
entrada = sc.nextLine();
System.out.println("string digitada: " + entrada);
if (entrada.equals("quit")){
break;
}
}
}
}
Saída
Digite uma palavra:teste
string digitada: teste
Digite uma palavra:quit
string digitada: quit
Diferente de C e C++, Java não possui suporte ao comando goto que nos permite declarar loops
infinitos utilizando labels.