Salida de Programas Java | Serie 35 (Toma de decisiones)

Prerrequisito: Toma de decisiones en Java
Predecir la salida de los siguientes programas

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

public
class Test {
public
    static void main(String[] args)
    {
        int x = 10;
        if (x) {
            System.out.println("HELLO GEEKS");
        } else {
            System.out.println("BYE");
        }
    }
}

Opciones:
1. HOLA GEEKS
2. Error de tiempo de compilación
3. Error de tiempo de ejecución
4. ADIÓS
Salida:

The answer is option (2).

Explicación: El argumento de la instrucción if debe ser de tipo booleano. Por error, si estamos tratando de proporcionar cualquier otro tipo de datos, obtendremos un error en tiempo de compilación que dice tipos incompatibles. Aquí el argumento es de tipo int, por lo tanto, obtendremos un error de tiempo de compilación que dice error: tipos incompatibles: int no se puede convertir a booleano

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

public
class Test {
public
    static void main(String[] args)
    {
        int x = 10;
        if (x)
            System.out.println("HELLO GEEKS");
        System.out.println("WELCOME");
  
        else
        {
            System.out.println("BYE");
        }
    }
}

Opciones:
1. HOLA GEEKS
BIENVENIDOS
2. HOLA GEEKS
3. ADIÓS
4. Error de tiempo de compilación
Salida:

The answer is option (4)

Explicación: Las llaves son opcionales en la parte if. Sin llaves, solo se permite una declaración debajo de if. Si tratamos de dar más de una declaración, obtendremos un error de tiempo de compilación que dice error: ‘else’ sin ‘if’.

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

public
class Test {
public
    static void main(String[] args)
    {
        int x = 10, y = 20;
        if (x < y)
            int a = 10;
        else {
            System.out.println("BYE");
        }
    }
}

Opciones:
1. 10
2. BYE
3. SIN salida
4. Error de tiempo de compilación
Salida:

The answer is option (4).

Explicación: en el programa anterior, hay una declaración declarativa en la declaración if sin llaves, por eso obtendremos un error de tiempo de compilación que dice Error: la declaración de variable no está permitida aquí.

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

public
class Test {
public
    static void main(String[] args)
    {
        int x = 10, y = 20;
        if (x < y) {
            if (x > y) {
                System.out.println("HELLO GEEKS");
            } else {
                System.out.println("WELCOME");
            }
        }
    }
}

Salida:
1. HOLA GEEKS
2. Error de tiempo de compilación
3. BIENVENIDO
4. Sin salida

The answer is option (3)

Explicación: No hay ningún otro problema pendiente en java. Todo lo demás se asigna a la instrucción if más cercana. Aquí, el if interno se asigna a la parte if más cercana, es decir, if (x> y).

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

public
class Test {
public
    static void main(String[] args)
    {
        if (true)
            ;
    }
}

Opciones:
1. Sin salida
2. Error de tiempo de compilación
3. Error de tiempo de ejecución 4. Salida de
excepción de tiempo de ejecución:

 The answer is option (1)

Explicación: ;(punto y coma) es una sentencia java válida que también se conoce como sentencia vacía. Por lo tanto, también podemos aplicarlo en la declaración if.

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

class Test {
public
    static void main(String[] args)
    {
        String day = "Sunday";
        switch (day) {
        case "Monday":
            System.out.println("Let's Work");
            break;
        case "Saturday":
            System.out.println("waiting for Sunday");
            break;
        case "Sunday":
            System.out.println("Today is fun day");
        }
    }
}

Opciones:
1. Error de tiempo de compilación
2. Vamos a trabajar
3. Error de tiempo de ejecución
4. Hoy es un día divertido
Salida:

The answer is option (4)

Explicación: Los tipos de argumentos permitidos para la declaración de cambio son byte, short, char, int hasta la versión 1.4. Pero a partir de la versión 1.5 en adelante, también se permiten las clases contenedoras correspondientes y el tipo de enumeración. Desde la versión 1.7 en adelante, también se permite el tipo de string. Consulte este artículo para más detalles.

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

public
class MainClass {
    enum day { MON,
               SAT,
               SUN } public static void main(String[] args)
    {
        day ch = day.SUN;
        switch (ch) {
        case MON:
            System.out.println("Lets work!");
            break;
        case SAT:
            System.out.println("Waiting for sunday");
            break;
        case SUN:
            System.out.println("Lets have fun!");
            break;
        }
    }
}

Opciones:
1. Sin salida
2. Error de sintaxis
3. ¡Divirtámonos! 4. Salida
de error de tiempo de compilación :

The answer is option (3)

Explicación: Los tipos de argumentos permitidos para la declaración de cambio son byte, short, char, int hasta la versión 1.4. Pero a partir de la versión 1.5 en adelante, también se permiten las clases contenedoras correspondientes y el tipo de enumeración. Desde la versión 1.7 en adelante, también se permite el tipo de string.

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

class MainClass {
public
    static void main(String[] args)
    {
        int x = 10;
        Switch(x)
        {
            System.out.println("GEEKS");
        }
    }
}

Opciones:
1. GEEKS
2. Error de tiempo de compilación
3. Sin salida
4. Error de tiempo de ejecución
Salida:

The answer is option (2)

Explicación: dentro del interruptor, cada declaración debe estar bajo algún caso o predeterminado, es decir, no se permiten independientes dentro del interruptor; de lo contrario, obtendremos un error de tiempo de compilación que dice error: ‘;’ esperado.

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

class MainClass {
public
    static void main(String[] args)
    {
        int x = 10;
        int y = 20;
        switch (x) {
        case 10:
            System.out.println("HELLO");
            break;
        case y:
            System.out.println("GEEKS");
            break;
        }
    }
}

Opciones:
1. HOLA
2. Sin salida
3. GEEKS
4. Error de tiempo de compilación
Salida:

The answer is option (4)

Explicación: cada etiqueta de caso debe ser constante; de ​​lo contrario, obtendremos un error de tiempo de compilación. Pero podemos agregar una variable como etiqueta de caso, pero tenemos que declarar esa variable como final. Pero aquí estamos usando la variable y como una etiqueta de caso, por eso obtendremos un error de tiempo de compilación que dice error: se requiere expresión constante.

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

class MainClass {
public
    static void main(String[] args)
    {
        int x = 10;
        final int y = 20;
        switch (x) {
        case 10:
            System.out.println("HELLO");
            break;
        case y:
            System.out.println("GEEKS");
            break;
        }
    }
}

Opciones:
1. GEEKS
2. Error de tiempo de compilación
3. HOLA
4. NO Salida
Salida:

The answer is option (3)

Explicación: cada etiqueta de caso debe ser constante; de ​​lo contrario, obtendremos un error de tiempo de compilación. Pero podemos agregar una variable como etiqueta de caso, pero tenemos que declarar esa variable como final. Pero aquí estamos usando la variable y como una etiqueta de caso, por eso obtendremos el resultado como HOLA.

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

class MainClass {
public
    static void main(String[] args)
    {
        int x = 10;
        switch (x + 1 + 1) {
        case 10:
            System.out.println("HELLO");
            break;
        case 10 + 1 + 1:
            System.out.println("GEEKS");
            break;
        }
    }
}

Salida:
1. Error de tiempo de compilación
2. GEEKS
3. HOLA
4. Sin salida

The answer is option (2).

Explicación: Tanto el argumento de cambio como la etiqueta de caso pueden ser expresiones. Pero la etiqueta del caso debe ser una expresión constante. Aquí, la etiqueta del caso «10+1+1» se trata como caso 12 y el argumento de cambio «x+1+1» también se trata como 12.

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

class MainClass {
public
    static void main(String arg[])
    {
        char stream = 'C';
        int x = 2;
  
        switch (x) {
        case 1:
            System.out.println("SCIENCE, MATHS, PHYSICS");
            break;
        case 2:
            switch (stream) {
            case 'A':
                System.out.println("Welcome");
                break;
            case 'C':
                System.out.println("Geeksforgeeks");
                break;
            case 'B':
                System.out.println("Have a nice day");
                break;
            }
            break;
        case 3:
            switch (stream) {
            case 'C':
                System.out.println("Welcome");
                break;
            case 'D':
                System.out.println("In");
                break;
            case 'E':
                System.out.println("GFG");
                break;
            }
            break;
        }
    }
}

Opciones:
1. Error de tiempo de compilación
2. GFG
3. Sin salida
4. Salida de Geeksforgeeks
:

The answer is option (4)

Explicación: el caso de cambio anidado es posible en java. Una sentencia switch anidada es una sentencia switch dentro de otra sentencia switch.

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 *