Universidad Carlos III de Madrid

Ingeniería de Telecomunicación

Enero-Mayo 2010 / January-May 2010

Repaso: Fundamentos de Java

Lab Section1. Sesión 0 (laboratorio): Repaso básico

Exercise Section1.1. Puesta en marcha

Introducción

Sobre la marcha e interactivamente entre todos, con unos minutos para ir haciendo en parejas cada apartado y luego poniéndolo en común entre todos, repasaremos:

  • Preparación del entorno de trabajo.
  • Declaración de la clase y el método main.
  • Declaración de variables (no atributos) (String, boolean e int).
  • Condicionales (if e if-else).
  • Bucles (for y while).

Preparación del entorno de trabajo

  1. Abrir el navegador con la API de Java.
  2. Abrir el entorno de desarrollo (Eclipse).
  3. Abrir los apuntes de la clase de teoría.
  4. Abrir el enunciado de la práctica.

Declaración de la clase y el método main

  1. Declaración de la clase:
    /*
     * A simple class, just to play with some basic Java statements
     */
    public class Example {
    }
    
  2. Compilamos.
  3. Ejecutamos: ¿qué ocurre al ejecutar?
  4. ¡No hay main!
  5. Declaramos el método main:
    /*
     * A simple class, just to play with some basic Java statements
     */
    public class Example {
    
      public static void main (String[] args) {
      }
    }
    
  6. ¡Ahora sí ejecuta!

Declaración de variables (no atributos) (String, boolean e int)

  1. Declarar una variable String llamada shortMsg, con valor inicial "Short Message".
    /*
     * A simple class, just to play with some basic Java statements
     */
    public class Example {
    
      public static void main (String[] args) {
        String shortMsg = "Short Message";
      }
    }
    
  2. Compilar y ejecutar.
  3. Declarar otra variable String llamada longMsg, con valor inicial "Looooooooooong message".
    /*
     * A simple class, just to play with some basic Java statements
     */
    public class Example {
    
      public static void main (String[] args) {
        String shortMsg = "Short Message";
        String longMsg = "Looooooooooong message";
      }
    }
    
  4. Declarar a continuación una variable boolean de nombre printShort, cuyo valor inicial sea true.
    /*
     * A simple class, just to play with some basic Java statements
     */
    public class Example {
    
      public static void main (String[] args) {
        String shortMsg = "Short Message";
        String longMsg = "Looooooooooong message";
        boolean printShort = true;
      }
    }
    
  5. Compilar y ejecutar.
  6. Por último, declara una variable int de nombre counter, y no le asignes ningún valor inicial:
    /*
     * A simple class, just to play with some basic Java statements
     */
    public class Example {
    
      public static void main (String[] args) {
        String shortMsg = "Short Message";
        String longMsg = "Looooooooooong message";
        boolean printShort = true;
        int counter;
      }
    }
    

Condicionales (if e if-else)

  1. Escribir una sentencia if de manera que se imprima por pantalla shortMsg sólo si printShort vale true:
    /*
     * A simple class, just to play with some basic Java statements
     */
    public class Example {
    
      public static void main (String[] args) {
        String shortMsg = "Short Message";
        String longMsg = "Looooooooooong message";
        boolean printShort = true;
        int counter;
    
        if (printShort) {
          System.out.println(shortMsg);
        }
      }
    }
    
  2. Compilar y ejecutar.
  3. Cambia el valor inicial de printShort a false, compila y ejecuta.
  4. Añade un else al if, de manera que si printShort es false se imprima longMsg:
    /*
     * A simple class, just to play with some basic Java statements
     */
    public class Example {
    
      public static void main (String[] args) {
        String shortMsg = "Short Message";
        String longMsg = "Looooooooooong message";
        boolean printShort = false;
        int counter;
    
        if (printShort) {
          System.out.println(shortMsg);
        } else {
          System.out.println(longMsg);
        }
      }
    }
    
  5. Vuelve a cambiar el valor de printShort a true. Compila y ejecuta.
  6. Añade el código necesario para que, sea cual sea el valor de printShort, lo siguiente que imprima el programa sea el mensaje "This message is always printed":
    /*
     * A simple class, just to play with some basic Java statements
     */
    public class Example {
    
      public static void main (String[] args) {
        String shortMsg = "Short Message";
        String longMsg = "Looooooooooong message";
        boolean printShort = false;
        int counter;
        String alwaysMsg = "This message is always printed";
    
        if (printShort) {
          System.out.println(shortMsg);
        } else {
          System.out.println(longMsg);
        }
        System.out.println(alwaysMsg);
      }
    }
    
  7. Compilar y ejecutar.
  8. Cambia el valor de printShort a false. Compila y ejecuta.

Bucles (for y while)

  1. Incluye a continuación un bucle for que imprima el mensaje "Are we there yet?" diez veces seguidas:
    /*
     * A simple class, just to play with some basic Java statements
     */
    public class Example {
    
      public static void main (String[] args) {
        final int NUM_QUESTIONS = 10;
    
        String shortMsg = "Short Message";
        String longMsg = "Looooooooooong message";
        boolean printShort = false;
        int counter;
        String alwaysMsg = "This message is always printed";
        String questionMsg = "Are we there yet?";
    
        if (printShort) {
          System.out.println(shortMsg);
        } else {
          System.out.println(longMsg);
        }
        System.out.println(alwaysMsg);
        for (int i = 0; i<NUM_QUESTIONS; i++) {
          System.out.println(questionMsg);
        }
      }
    }
    
  2. Compilar y ejecutar.
  3. Modifica el bucle for anterior para que ahora imprima 5 veces el mensaje "Are we there yet?" y otras cinco, intercaladas con las anteriores, el mensaje "Nop":
    /*
     * A simple class, just to play with some basic Java statements
     */
    public class Example {
    
      public static void main (String[] args) {
        final int NUM_QUESTIONS = 5;
    
        String shortMsg = "Short Message";
        String longMsg = "Looooooooooong message";
        boolean printShort = false;
        int counter;
        String alwaysMsg = "This message is always printed";
        String questionMsg = "Are we there yet?";
        String answerMsg = "Nop";
    
        if (printShort) {
          System.out.println(shortMsg);
        } else {
          System.out.println(longMsg);
        }
        System.out.println(alwaysMsg);
        for (int i = 0; i<NUM_QUESTIONS; i++) {
          System.out.println(questionMsg);
          System.out.println(answerMsg);
        }
      }
    }
    
  4. Compilar y ejecutar.
  5. Añade un bucle while al final que imprima 7 veces el mensaje "I'm going to pass this course.". Utiliza la variable counter como contador de veces:
    /*
     * A simple class, just to play with some basic Java statements
     */
    public class Example {
    
      public static void main (String[] args) {
        final int NUM_QUESTIONS = 5;
        final int NUM_SELFMSG = 7;
    
        String shortMsg = "Short Message";
        String longMsg = "Looooooooooong message";
        boolean printShort = false;
        int counter;
        String alwaysMsg = "This message is always printed";
        String questionMsg = "Are we there yet?";
        String answerMsg = "Nop";
        String selfMsg = "I'm going to pass this course.";
    
        if (printShort) {
          System.out.println(shortMsg);
        } else {
          System.out.println(longMsg);
        }
        System.out.println(alwaysMsg);
        for (int i = 0; i<NUM_QUESTIONS; i++) {
          System.out.println(questionMsg);
          System.out.println(answerMsg);
        }
        counter = 0;
        while (counter < NUM_SELFMSG) {
          System.out.println(selfMsg);
          counter++;
        }
      }
    }
    

Exercise Section1.2. Ejercicios prácticos