Condicionales en Kotlin: if/else
Clase 10 de 35 • Curso de Kotlin
Resumen
La programación se vuelve verdaderamente poderosa cuando un programa puede tomar decisiones basadas en condiciones. Kotlin, al igual que otros lenguajes de programación, ofrece estructuras de control que permiten a los desarrolladores implementar lógica condicional de manera eficiente y elegante. Las sentencias condicionales son fundamentales para crear aplicaciones inteligentes que respondan a diferentes situaciones y datos. ¡Vamos a descubrir cómo las sentencias condicionales en Kotlin pueden transformar la forma en que escribimos código!
¿Cómo funcionan las sentencias condicionales en Kotlin?
Las sentencias condicionales nos permiten ejecutar ciertos bloques de código dependiendo del resultado de una expresión lógica. En Kotlin, la estructura básica para esto es la sentencia if
.
La estructura de un if
simple consiste en:
if (condición) {
// Código que se ejecuta si la condición es verdadera
}
Para añadir una alternativa, podemos complementar con else
:
if (condición) {
// Código que se ejecuta si la condición es verdadera
} else {
// Código que se ejecuta si la condición es falsa
}
Ejemplo práctico: Validación de un email
fun main() {
val email = leerEmail()
if (email.contains("@")) {
println("El email tiene formato válido")
} else {
println("El email no es válido")
}
}
En este ejemplo, el programa verifica si el email contiene el carácter "@". Si lo contiene, muestra un mensaje de validación; de lo contrario, indica que el email no es válido.
¿Cómo manejar múltiples condiciones con if-else?
Cuando necesitamos evaluar varias condiciones, podemos usar la estructura if-else if-else
:
if (condición1) {
// Código para condición1
} else if (condición2) {
// Código para condición2
} else {
// Código si ninguna condición se cumple
}
Ejemplo: Clasificación de seguridad de contraseñas
val password = leerPassword()
if (password.length >= 8) {
println("Contraseña fuerte")
} else if (password.length >= 6) {
println("Contraseña media")
} else {
println("Contraseña no segura")
}
Este código clasifica la seguridad de una contraseña basándose en su longitud:
- 8 o más caracteres: fuerte
- 6-7 caracteres: media
- Menos de 6 caracteres: no segura
¿Cómo utilizar if como expresión para asignar valores?
Una característica poderosa de Kotlin es que el if
puede actuar como una expresión y retornar valores, lo que permite asignaciones condicionales elegantes.
val nivelSeguridad = if (password.length >= 8) {
"nivel alto"
} else if (password.length >= 6) {
"nivel medio"
} else {
"nivel bajo"
}
println("El nivel de seguridad de contraseña es $nivelSeguridad")
Importante: Cuando usamos if
como expresión, todos los caminos deben devolver valores del mismo tipo para garantizar la consistencia.
¿Cómo aplicar if en funciones para retornar valores?
Podemos usar sentencias if
dentro de funciones para determinar qué valor retornar:
fun clasificarEmail(email: String): String {
return if (email.contains("admin")) {
"administrador"
} else if (email.contains("support")) {
"soporte"
} else {
"usuario normal"
}
}
Esta función analiza un email y clasifica al usuario según palabras clave contenidas en el mismo:
- Si contiene "admin" → administrador
- Si contiene "support" → soporte
- De lo contrario → usuario normal
La elegancia de este código radica en que no necesitamos asignar el resultado a una variable intermedia; la expresión if
directamente proporciona el valor de retorno.
¿Cuáles son las mejores prácticas al usar sentencias condicionales?
Para escribir código condicional limpio y profesional:
- Mantén la legibilidad: Usa el formato adecuado con indentación consistente.
- Evita condiciones anidadas excesivas: Demasiados niveles de anidamiento hacen que el código sea difícil de mantener.
- Considera alternativas más expresivas: Para casos con muchas condiciones, la sentencia
when
(equivalente alswitch
en otros lenguajes) puede ser más adecuada. - Sé consistente con los tipos de retorno: Cuando uses
if
como expresión, asegúrate de que todas las ramas devuelvan el mismo tipo de datos. - Simplifica cuando sea posible: Evita condiciones redundantes como vimos en el ejemplo de la contraseña.
Las sentencias condicionales aportan inteligencia y flexibilidad a nuestros programas, permitiéndoles tomar decisiones basadas en diferentes situaciones y datos. Dominar estas estructuras es esencial para convertirse en un desarrollador Kotlin eficiente. En la próxima lección, exploraremos la sentencia when
, que ofrece una alternativa más elegante al tradicional switch-case
para manejar múltiples condiciones. ¡Comparte en los comentarios cómo has aplicado las sentencias condicionales en tus proyectos!