MEJOR SITIO PARA DESARROLLADORES WEB
Programación. Lecciones para principiantes

Ua En De Fr

Sentencias If en programación


Las declaraciones If permiten que su programa tome decisiones, por lo que puede hacer diferentes cosas según la situación.


¿Qué es una declaración if?

Una declaración if ejecuta un bloque de código si la condición es verdadera.

Hacemos cosas similares en la vida real, como usar un paraguas si llueve o usar un abrigo si hace frío.

Observa cómo funciona una sentencia if en el siguiente juego simple. El objetivo es obtener 6 al lanzar los dados.

Dice

Para que el juego haga algo diferente dependiendo del resultado de los dados, usamos if con una condición que verifica si el resultado de los dados es 6.

Si la condición es verdadera, imprimimos "¡Tienes 6!" y lanzamos el confeti. Si la condición no es verdadera, imprimimos "¡Inténtalo de nuevo!".

Aquí está el diagrama de flujo y el código Python para el juego:

start dice = random(1,6) false true Try again You got 6! dice == 6? Condition dice = random.randint(1,6) if else: dice == 6: Condition print('You got 6!🥳') launchConfetti() Code runs if condition is true print('Try again') Code runs if condition is false

Debemos usar else en el código anterior, para manejar el caso en el que el dado no sea 6, para que podamos escribir "Inténtalo de nuevo".

Haga clic en el botón "Ejecutar ejemplo" a continuación para ver el código de lanzamiento de dados en acción.


Python:
dice = random.randint(1,6)
print('You rolled a ' + str(dice))

if dice == 6:
  print('You got 6!🥳')
else:
  print('Try again')
JavaScript:
const dice = Math.floor(Math.random() * 6) + 1;
console.log('You rolled a ' + dice);

if (dice == 6) {
  console.log('You got 6!🥳');
} else {
  console.log('Try again');
}
Java:
int dice = random.nextInt(6) + 1;
System.out.println("You rolled a " + dice);

if (dice == 6) {
  System.out.println("You got 6!🥳");
} else {
  System.out.println("Try again");
}
C++:
int dice = rand() % 6 + 1;
cout << "You rolled a " + to_string(dice) + "\\n";

if (dice == 6) {
  cout << "You got 6!🥳\\n";
} else {
  cout << "Try again\\n";
}
Run Example »

¿Cuándo debo utilizar una declaración if?

Cuando desee que su programa haga algo diferente según la situación, debe utilizar una declaración if.

Por ejemplo, si desea que su programa imprima "¡Bienvenido!" cuando el usuario ingrese la contraseña correcta y "Acceso denegado" cuando el usuario ingrese la contraseña incorrecta, debe utilizar una declaración if.


If, Else y Else If

Una declaración if siempre comienza con un if.

Una declaración if puede contener cero o muchos else if, y cero o uno else.

Cuando else está presente, debe aparecer al final, después de todo else if.

La declaración else garantiza que uno (y solo uno) de los bloques de código se ejecutará.

A veces basta con usar un único if, como este:


Python:
age = 32
print('Age: ' + str(age))

if age > 17:
  print('You are an adult!')
JavaScript:
const age = 32;
console.log('Age: ' + age);

if (age > 17) {
  console.log('You are an adult!');
}
Java:
int age = 32;
System.out.println("Age: " + age);

if (age > 17) {
  System.out.println("You are an adult!");
}
C++:
int age = 32;
cout << "Age: " + to_string(age) + "\\n";

if (age > 17) {
  cout << "You are an adult!\\n";
}
Run Example »

But usually, we also want to handle the case when the condition is not true, so we use an else statement for that.


Python:
age = 10
print('Age: ' + str(age))

if age > 17:
  print('You are an adult!')
else:
  print('You are not an adult yet.')
JavaScript:
const age = 10;
console.log('Age: ' + age);

if (age > 17) {
  console.log('You are an adult!');
} else {
  console.log('You are not an adult yet.');
}
Java:
int age = 10;
System.out.println("Age: " + age);

if (age > 17) {
  System.out.println("You are an adult!");
} else {
  System.out.println("You are not an adult yet.");
}
C++:
int age = 10;
cout << "Age: " + to_string(age) + "\\n";

if (age > 17) {
  cout << "You are an adult!\\n";
} else {
  cout << "You are not an adult yet.\\n";
}
Run Example »

El bloque de código que pertenece a else solo se ejecutará en caso de que la condición en if sea falsa.

También podemos usar else if para verificar más de una condición, de modo que obtengamos más de dos resultados.


Python:
age = 15
print('Age: ' + str(age))

if age < 13:
  print('You are a child')
elif age < 20:
  print('You are a teenager')
else:
  print('You are an adult')
JavaScript:
const age = 15;
console.log('Age: ' + age);

if (age < 13) {
  console.log('You are a child');
} else if (age < 20) {
  console.log('You are a teenager');
} else {
  console.log('You are an adult');
}
Java:
int age = 15;
System.out.println("Age: " + age);

if (age < 13) {
  System.out.println("You are a child");
} else if (age < 20) {
  System.out.println("You are a teenager");
} else {
  System.out.println("You are an adult");
}
C++:
int age = 15;
cout << "Age: " + to_string(age) + "\\n";

if (age < 13) {
  cout << "You are a child";
} else if (age < 20) {
  cout << "You are a teenager";
} else {
  cout << "You are an adult";
}
Run Example »

Solo puedes tener una declaración if y solo una declaración else, pero puedes tener tantas declaraciones else if como desees.

Además, la instrucción if siempre es la primera, la instrucción else siempre es la última y las instrucciones else if están entre ambas.


Sentencias If anidadas

Una declaración if anidada es una declaración if dentro de otra declaración if.

Las declaraciones if anidadas son útiles en los casos en los que desea comprobar una condición solo si otra condición es verdadera.


Python:
age = 19
print('Age: ' + str(age))

if age < 13:
  print('You are a child')
elif age < 20:
  print('You are a teenager')
  if age > 17:
    print('and an adult!')
else:
  print('You are an adult')
JavaScript:
const age = 19;
console.log('Age: ' + age);

if (age < 13) {
  console.log('You are a child');
} else if (age < 20) {
  console.log('You are a teenager');
  if (age > 17) {
    console.log('and an adult!');
  }
} else {
  console.log('You are an adult');
}
Java:
int age = 19;
System.out.println("Age: " + age);

if (age < 13) {
  System.out.println("You are a child");
} else if (age < 20) {
  System.out.println("You are a teenager");
  if (age > 17) {
    System.out.println("and an adult!");
  }
} else {
  System.out.println("You are an adult");
}
C++:
int age = 19;
cout << "Age: " + to_string(age) + "\n";

if (age < 13) {
  cout << "You are a child";
} else if (age < 20) {
  cout << "You are a teenager";
  if (age > 17) {
    cout << "\nand an adult!";
  }
} else {
  cout << "You are an adult";
}
Run Example »

En el código anterior, la declaración if anidada nos permite filtrar el caso especial de las edades 18 y 19, cuando eres tanto un adolescente como un adulto.

age = {{age}}  age < 13 true 'child' false false age < 20 true 'teen' age > 17 true 'and adult' 'adult'

Age

En el diagrama de flujo anterior, podemos ver que el bloque de código para edad > 17 solo se ejecuta si la edad es 18 o 19.