Programación

1º DAM/DAW - Curso 2024-2025

User Tools

Site Tools


apuntes:estructuras_de_control

Las estructuras de control

Estructura if

La sentencia if permite tomar una decision en base a una condición. Dicha condición puede ser simple (comparar dos expresiones) o bien compleja, pudiéndose comparar múltiples expresiones unidas por cualquier operador lógico. Si el resultado final de la condición es verdadero (la condición se cumple), se ejecutará el bloque de código asociado a la instrucción \verb if , y a continuación, el programa seguirá inmediatamente después. En caso contrario, no se ejecutará ese código y el programa seguirá inmediatamente después.

if (condicion) {
    sentencias;
}
if (x > 10) {
    System.out.println("x es mayor que 10");
}

Estructura if/else

En este caso la instrucción if viene acompañada de un segundo bloque de instrucciones que se asocia al caso en que la condición de la instrucción no se cumpla. Ahora, cuando la condición asociada al caso \verb if no se cumpla, se ejecutará el bloque de código asociado al caso \verb else antes de continuar inmediatamente después.

if (condicion) {
    sentencias_if;
}
else {
    sentencias_else;
}
if (x == 10) {
    System.out.println("x vale 10");
}
else {
    System.out.println("x no vale 10");
}

Estructura if/else if

Este es el caso más completo de la sentencia if . Realmente es posible evaluar tantas condiciones como se deseen y asociar un bloque de código al cumplimiento de cada una de esas condiciones, teniendo en cuenta que, por cada sentencia if sólo se acabará ejecutando un sólo bloque de instrucciones. Se ejecutará siempre el bloque asociado a la condición que antes se cumpla (en orden de arriba a abajo) o el bloque asociado al caso \verb else si no se cumple ninguna condición (siempre que se haya incluido caso else). Asi, es posible que, aún incluyendo una sentencia if, puede que nunca se ejecute ninguna sentencia.

if (condicion1) {
    sentencias_1;
}
else if (condicion2) {
    sentencias_2;
}
else if (condicion3) {
    sentencias_3;
}
. . .
. . .
else {
    sentencias_else;
}
if (x > 10) {
    System.out.println("x es mayor que 10");
}
else if (x < 10) {
    System.out.println("x es menor que 10");
}
else {
    System.out.println("x es igual a 10");
}

Operador lógicos en estructuras de control

Los operadores condicionales permiten evaluar varias expresiones como si se trataran de una sola condición

  • Operador AND Representado por los caracteres &&, se utiliza para combinar varias expresiones y que éstas sean evaluadas como una sola condición verdadera cuando todas ellas lo sean. Si alguna de ellas es falsa, el resultado siempre será falso indepedientemente del valor de todas las demás
  • Operador OR Representado por los caracteres ||, se utiliza para combinar varias expresiones y que éstas sean evaluadas como una sola condición verdadero simplemente con que una de ellas lo sea. Si todas ellas son falsas, el resultado de la condición compuesta será falso
  • Operador NOT Representado por el caracter !, se utiliza para invertir el resultado de la expresión que queda a su derecha.
if ((x > 10) && (x < 20)) {
    System.out.println("El valor de x está entre 10 y 20");
}
if ((x == 10) || (x == 20)) {
    System.out.println("El valor de x es 10 o 20");
}
if (!(x == 10)) {
    System.out.println("x es distinto que 10");
}

Estructura switch-case

La sentencia switch-case permite tomar una decisión en base al valor de una variable. A cada posible valor se le asocia un bloque de sentencias que será ejecutado cuando la variable contenga dicho valor. Además, de forma similar a como ocurre con la sentencia if,esta sentencia tiene un caso por defecto, en este caso se llama default, cuyo bloque asociado se ejecutará en caso de que la variable no tenga ninguno de los valores recogidos en los casos case.

switch(condicion) {
    case valor_1:
        sentencias_1;
        break;
    case valor_2:
        sentencias_2;
        break;
    case valor_3:
        sentencias_3;
        break;
    default:
        sentencia_default;
        break;
}
switch(color) {
    case "azul":
        System.out.println("El color es azul");
        break;
    case "rojo":
        System.out.println("El color es rojo");
        break;
    case "negro":
        System.out.println("El color es negro");
        break;
    default:
        System.out.println("No es ninguno de los colores seleccionados");
        break;
}

© 2019-2024 Santiago Faci

apuntes/estructuras_de_control.txt · Last modified: 2023/06/04 11:24 by Santiago Faci