Respuestas a preguntas y ejercicios: Sentencias de control de flujo (Los tutoriales Java™ > El lenguaje Java > Lo básico del lenguaje)
Ruta: El lenguaje Java
Lección: Lo básico del lenguaje
Página inicial > El lenguaje Java > Lo básico del lenguaje
Respuestas a preguntas y ejercicios: Sentencias de control de flujo

Respuestas a preguntas

  1. La sentencia de control de flujo más básica proporcionada por el lenguaje Java es la sentencia if-then.
  2. La sentencia switch permite cualquier cantidad de rutas de ejecución posibles.
  3. La sentencia do-while es parecida a la sentencia while, pero evalúa su expresión al bottom del bucle.
  4. Pregunta: ¿Cómo se escribe un bucle infinito utilizando la sentencia for?

    Respuesta:

    for ( ; ; ) {
    
    }
    
  5. Pregunta: ¿Cómo se escribe un bucle infinito utilizando la sentencia while?

    Respuesta:

    while (true) {
    
    }
    

Ejercicios

  1. Teniendo en cuenta el siguiente fragmento de código.
    if (aNumber >= 0)
        if (aNumber == 0) System.out.println("primera cadena");
    else System.out.println("segunda cadena");
    System.out.println("tercera cadena");
    
    1. Ejercicio: ¿Qué salida cree que se producirá si aNumber es 3?

      Solución:

      segunda cadena
      tercera cadena
      
    2. Ejercicio: Escriba un programa que contenga el fragmento anterior, haga que aNumber sea 3. ¿Cuál es la salida del programa? ¿Es lo que había predicho? Explique por qué la salida es la que es. En otras palabras, ¿cuál es el flujo de control del fragmento?

      Solución: NestedIf

      segunda cadena
      tercera cadena
       
      3 es mayor o igual a 0, por lo que la ejecución progresa a la segunda sentencia if. El test de la segunda sentencia if falla porque 3 no es igual a 0. Por tanto, se ejecuta la cláusula else (ya que está ligada a la segunda sentencia if). Por lo tanto, se muestra segunda cadena. El último println está completamente fuera de cualquier sentencia if, por lo que se ejecuta siempre, por lo tanto siempre se muestra tercera cadena.
    3. Ejercicio: Reformatee el código para que el flujo sea más comprensible, usando solamente espacios y cambios de línea.

      Solución:

      if (aNumber >= 0)
          if (aNumber == 0)
              System.out.println("primera cadena");
          else
              System.out.println("segunda cadena");
      
      System.out.println("tercera cadena");
      
    4. Ejercicio: Utilice corchetes, { y }, para aclarar el código más y reducir la posibilidad de errores por parte de futuros mantenedores del código.

      Solución:

      if (aNumber >= 0) {
          if (aNumber == 0) {
              System.out.println("primera cadena");
          } else {
              System.out.println("segunda cadena");
          }
      }
      
      System.out.println("tercera cadena");
      
Pagina anterior: Preguntas y ejercicios: Sentencias de control de flujo

  ATENCIÓN: La traducción de esta documentación es un esfuerzo personal y voluntario. NO es un documento oficial del propietario de la tecnología Java, Oracle, ni está patrocinado por esta empresa.

Los documentos originales y actualizados (en inglés) están disponibles en: http://docs.oracle.com/javase/tutorial/. La versión disponible en este sitio es la publicada en Marzo de 2008 (más información en: "What's new and What's Old? The History of the Tutorial").

Dirige cualquier comentario, petición, felicitación, etc. a tutorialesjava@codexion.com.

Si quieres ayudar a mantener en funcionamiento esta web, colaborar con la traducción de estos documentos o necesitas que se traduzca algún capítulo en concreto puedes invitarme a un café: