Salida de Programas Java | Set 36 (bucle do-while)

Requisito previo: ciclo while en Java

1. ¿Cuál será el resultado del siguiente programa?

class Test {
public
    static void main(String[] args)
    {
        do
            while (true)
                System.out.println("HELLO");
        while (false);
    }
}

Opciones:
1. HOLA
2. Error de tiempo de compilación
3. HOLA (infinitamente)
4. Sin salida

The answer is option (3)

Explicación: Piense en el ejemplo anterior como este

do 
       while(true)
           System.out.println("HELLO");
while(false);

Este es el bucle do-while simple. Como sabemos, en el ciclo while sin llaves podemos tomar solo una declaración que no debe ser declarativa. Aquí, HOLA es esa declaración de ciclo while que no tiene llaves. Aquí el ciclo while interno siempre da verdadero y la salida del programa HOLA infinitamente.

2. ¿Cuál será el resultado del siguiente programa?

class Test {
public
    static void main(String[] args)
    {
        do
            System.out.println("FRIENDS");
        while (true);
        System.out.println("ENEMY");
    }
}

Opciones:
1. Error de tiempo de compilación
2. AMIGOS
3. Sin salida
4. ENEMIGO

The answer is option (1)

Explicación: aquí, el bucle while siempre da verdadero e imprimirá AMIGOS infinitamente y no dará cambio para imprimir ENEMIGO. Lo que da error de tiempo de compilación diciendo

prog.java:8: error: unreachable statement
        System.out.println("ENEMY");

3. ¿Cuál será el resultado del siguiente programa?

class Test {
public
    static void main(String[] args)
    {
        int x = 1, y = 2;
        do
            System.out.println("FRIENDS");
        while (x < y);
        System.out.println("ENEMY");
    }
}

Opciones:
1. AMIGOS
2. ENEMIGO
3. Sin Salida
4. AMIGOS (Infinitamente)

 The answer is option (4)

Explicación: aquí, en el tiempo de compilación, el compilador piensa que x e y son variables y su valor se puede cambiar y eso dará falso al ciclo while. Lo que da la oportunidad de imprimir ENEMY, es por eso que el compilador no arrojó ningún error de tiempo de compilación.

4. ¿Cuál será el resultado del siguiente programa?

class Test {
public
    static void main(String[] args)
    {
        do
            while (true)
                ;
        System.out.println("HELLO");
    }
}

Opciones:
1 HELLO
2 HELLO (Infinitamente)
3 Error: Instrucción inalcanzable
4 Error: ; esperado

 The answer is option (4)

Explicación: En el ejemplo anterior, hay un error de sintaxis del ciclo do-while. Como todos sabemos, sin llaves podemos tomar una declaración que no puede ser declarativa, pero si no especificamos ninguna declaración y no mencionamos ninguna llave, el compilador dará un error que dice Error:; esperado.

5. ¿Cuál será el resultado del siguiente programa?

class Test {
public static void main(String[] args)
    {
        do {
            System.out.print(1);
            do {
  
                System.out.print(2);
  
            } while (false);
  
        } while (false);
    }
}

Opciones:
1. 12
2. 21
3. 1
4. 2

The answer is option (1)

Explicación: En el ejemplo anterior, anidar en un tiempo funcionará bajo el proceso de anidamiento. El primer bucle interno do-while se ejecutará después del externo.

Este artículo es una contribución de Bishal Kumar Dubey . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.

Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *