
El curso de Kotlin Desde Cero: Fundamentos Básicos, es un espacio diseñado para centralizar y organizar la secuencia de videos que ya se encuentran disponibles en mi canal de YouTube. La idea es ofrecerte un recorrido estructurado, ordenado y fácil de seguir, donde puedas avanzar paso a paso sin perderte entre contenidos dispersos.
Próximamente también publicaré el curso de Programación Orientada a Objetos con Kotlin, que igualmente ya está disponible en mi canal, pero estará pronto organizado aquí en Udemy para que puedas continuar tu ruta de aprendizaje dentro de un solo entorno.
Este curso se enfoca específicamente en la sintaxis, los conceptos fundamentales y los componentes básicos del lenguaje Kotlin hasta llegar a estructuras de datos y funciones, ideal para quienes están iniciando o buscan reforzar bases sólidas.
Además, contarás con recursos adicionales complementarios que te ayudarán a practicar, profundizar y aplicar lo aprendido de manera más efectiva.
BIenvenido(a)!
¿Qué es Kotlin?
Kotlin es un lenguaje de programación moderno, expresivo y conciso, que facilita en gran medida el desarrollo no solo de aplicaciones móviles sino de otras plataformas, es interoperable con el lenguaje Java ya que busca brindar una nueva alternativa a este lenguaje sin embargo corre sobre su maquina virtual, adicional es junto con java el lenguaje oficial para desarrollo de aplicaciones nativas para android.
Tal como se menciona en la pagina de desarrolladores de android, Kotlin es un proyecto gratuito y de código abierto registrado bajo la licencia de Apache 2.0, el código del proyecto está publicado en gitHub y a cargo principalmente del equipo de desarrollo de JetBrains con contribuciones de Google y otros.
Nota: Actualmente se tiene una versión Alpha de Kotlin Multiplatform Mobile (KMM) lo que permitiría hacer un único desarrollo tanto para android como para iOs
Características
Fue creado por JetBrains
Se puede usar en Ciencia de Datos, Desarrollo Web, Desarrollo Móvil entre otros.
Lenguaje de Alto Nivel
Multiplataforma
Sintaxis Simple
Es orientado a Objetos
Soporta null safety
Lenguaje Oficial para desarrollo de Apps Android
Interoperable con java
No es obligatorio el punto y coma (;)
El JDK (Java Development Kit) es el conjunto de herramientas que permite a tu computador compilar, ejecutar y entender el código que escribes. Aunque Kotlin es un lenguaje moderno, funciona sobre la JVM (Java Virtual Machine), por eso necesitas el JDK instalado correctamente para evitar errores, configuraciones incompletas o problemas al ejecutar tus programas.
Si estás empezando con Kotlin, este proceso es obligatorio para preparar tu entorno de desarrollo y asegurar que todas las herramientas funcionen sin inconvenientes.
Antes de comenzar, es importante tener claro qué un IDE (Integrated Development Environment) es una herramienta que reúne en un solo lugar todo lo que necesitas para programar—editor de código, autocompletado, depuración, compilación y muchas funciones que facilitan tu aprendizaje y tu productividad.
Aunque en el curso trabajaremos con un entorno online, el cual es suficiente para practicar y avanzar en los ejercicios, te recomiendo instalar IntelliJ IDEA para que puedas seguir el paso a paso tal como se hace en un entorno profesional. Este IDE es desarrollado por JetBrains, los mismos creadores de Kotlin, y ofrece la mejor integración, soporte y experiencia al trabajar con este lenguaje.
En el video aprenderás:
✔️ Dónde descargar IntelliJ IDEA de forma segura.
✔️ Qué versión elegir (Community Edition es suficiente).
✔️ Cómo instalarlo en tu sistema operativo.
✔️ Cómo preparar el IDE para escribir tu primer programa en Kotlin.
Aunque puedes usar otros entornos, IntelliJ IDEA es el más completo y el recomendado oficialmente, por lo que te ayudará a desarrollar hábitos adecuados desde el inicio.
El for en Kotlin es ideal para recorrer listas, permitiéndote ejecutar un bloque de código por cada elemento que contiene.
Una lista es simplemente una colección ordenada de elementos, como nombres, números o cualquier tipo de dato. No necesitamos entrar en detalle aquí, pero lo importante es que las listas te permiten almacenar varios valores en una sola variable.
Ejemplo básico:
val frutas = listOf("Manzana", "Banano", "Pera")
for (fruta in frutas) {
println("Fruta: $fruta")
}
Aquí, el ciclo:
Toma cada elemento de la lista frutas.
Lo asigna temporalmente a la variable fruta.
Ejecuta el código dentro del for usando ese valor.
Este tipo de iteración es muy útil cuando necesitas procesar todos los elementos de una colección de manera simple, clara y ordenada. Ideal para imprimir datos, realizar cálculos, generar reportes o manipular información almacenada en listas.
Las funciones en Kotlin son bloques de código diseñados para realizar una tarea específica. Son como pequeñas máquinas dentro del programa: les das ciertos datos (si los necesitan), hacen un proceso y pueden devolver un resultado.
Su propósito principal es organizar el código, evitar repeticiones y hacer que los programas sean más claros, mantenibles y fáciles de entender.
En términos simples, una función:
Tiene un nombre para poder llamarla cuando la necesites.
Puede recibir parámetros (datos de entrada).
Puede devolver un valor (aunque no siempre).
Encapsula una acción para evitar escribir la misma lógica varias veces.
Ejemplo sencillo:
fun saludar() {
println("Hola desde una función")
}
Ejemplo con parámetros y retorno:
fun sumar(a: Int, b: Int): Int {
return a + b
}
¿Por qué son importantes?
Evitan duplicar código.
Ayudan a dividir un problema grande en partes pequeñas.
Hacen el programa más ordenado y profesional.
Permiten reutilizar lógica en diferentes momentos del programa.
Las funciones son un pilar fundamental en la programación, y dominarlas es clave para avanzar hacia temas más profundos como programación orientada a objetos, modularidad y diseño de software.
Una función sin parámetros y sin retorno en Kotlin es la forma más simple de función. Su objetivo es ejecutar un bloque de código sin necesitar datos de entrada y sin devolver un resultado. Simplemente realiza una acción.
Este tipo de función es ideal cuando solo quieres que el programa haga algo específico, como mostrar un mensaje, limpiar la pantalla, inicializar algo o registrar información, sin requerir valores externos.
Ejemplo:
fun saludar() {
println("Hola, bienvenido a Kotlin")
}
Aquí:
No recibe parámetros: los paréntesis están vacíos.
No retorna nada: por defecto su tipo de retorno es Unit (equivalente a “nada”), aunque no es necesario escribirlo.
Para usarla, simplemente la llamas:
saludar()
Este tipo de funciones ayuda a organizar el código en tareas pequeñas y claras, permitiendo dividir acciones del programa sin necesidad de manejar entradas o resultados.
Una función con parámetros y sin retorno en Kotlin es una función que recibe datos de entrada, pero no devuelve ningún valor. Su propósito es ejecutar una acción utilizando esos datos, como imprimir un mensaje personalizado, realizar un cálculo interno, mostrar información o modificar una estructura, sin necesidad de entregar un resultado final.
Los parámetros permiten que la función sea flexible y reutilizable, ya que puedes pasarle diferentes valores cada vez que la llames.
Ejemplo:
fun saludarPersona(nombre: String) {
println("Hola, $nombre ¡Bienvenido!")
}
Aquí:
La función recibe un parámetro llamado nombre de tipo String.
No retorna ningún valor, ya que solo realiza una acción (imprimir un saludo).
Para usarla:
saludarPersona("Ana")
saludarPersona("Luis")
Cada llamada imprime un saludo distinto según el valor que se envíe.
Este tipo de funciones es útil para tareas donde necesitas trabajar con información proporcionada desde fuera, pero no necesitas regresar un resultado explícito.
Ámbito de Variables
El ámbito de una variable es la zona del código donde esa variable existe y puede ser utilizada. Fuera de ese espacio, la variable no es visible y no se puede acceder a ella.
En programación, entender el ámbito evita errores como variables no encontradas, valores incorrectos o comportamientos inesperados.
Tipos de Ámbito más comunes
1. Ámbito local
Son las variables definidas dentro de una función, bloque o estructura.
Solo existen mientras ese bloque se ejecuta.
fun saludar() {
val mensaje = "Hola"
println(mensaje) // Aquí sí funciona
}
println(mensaje) // ❌ Error: mensaje no existe aquí
2. Ámbito global
Son variables declaradas fuera de funciones o bloques.
Pueden ser usadas desde cualquier parte del archivo o módulo.
val nombre = "Cristian" // Global
fun mostrar() {
println(nombre) // ✔ Disponible
}
3. Ámbito dentro de bloques
Variables creadas dentro de if, for, while, etc., solo existen en ese bloque.
if (true) {
val edad = 25
println(edad) // ✔
}
println(edad) // ❌ No existe fuera del if
¿Por qué es importante?
Evita que variables “choquen” entre sí.
Mejora la legibilidad y organización del código.
Reduce errores porque cada variable vive donde debe.
Permite crear código más seguro y controlado.
Funciones con Retorno
Una función con retorno es una función que devuelve un valor al terminar su ejecución.
Ese valor puede ser un número, un texto, un objeto, una lista, etc.
En pocas palabras:
? La función hace algo y te entrega un resultado.
Estructura general
fun nombreFuncion(): TipoDeDato {
// instrucciones
return valor
}
TipoDeDato → especifica qué devuelve la función.
return → palabra clave que envía el resultado de vuelta.
Ejemplo sencillo
fun sumar(a: Int, b: Int): Int {
return a + b
}
val resultado = sumar(3, 5)
println(resultado) // 8
¿Qué pasó aquí?
La función suma los dos parámetros.
return devuelve el resultado (8).
Ese resultado se puede guardar en una variable y usar luego.
Otro ejemplo
fun obtenerNombre(): String {
return "Cristian"
}
println(obtenerNombre()) // Cristian
Puntos clave
Toda función con retorno debe usar return.
El valor retornado debe coincidir con el tipo declarado.
Si una función no necesita devolver nada, su tipo de retorno sería Unit (o simplemente no se pone), pero eso ya pertenece al grupo sin retorno.
Funciones con Parámetros y Retorno
Este tipo de funciones reciben datos (parámetros) y devuelven un resultado (retorno).
Son de las más usadas porque permiten procesar información y entregar una respuesta útil.
Estructura general
fun nombreFuncion(param1: Tipo1, param2: Tipo2): TipoRetorno {
// proceso
return valor
}
Parámetros → datos que la función necesita para trabajar.
TipoRetorno → lo que la función devuelve después del return.
Ejemplo práctico
Función que calcula el área de un rectángulo
fun calcularArea(base: Double, altura: Double): Double {
return base * altura
}
val area = calcularArea(5.0, 3.0)
println(area) // 15.0
¿Qué sucede aquí?
Parámetros:
base (Double)
altura (Double)
Proceso:
La función multiplica base × altura.
Retorno:
Double, el tipo de dato del resultado.
Uso:
Guardamos el valor retornado en una variable (area) y luego lo imprimimos.
Otro ejemplo más simple
Función que recibe un nombre y devuelve un saludo:
fun saludar(nombre: String): String {
return "Hola, $nombre!"
}
println(saludar("Cristian")) // Hola, Cristian!
Puntos clave
Puedes tener tantos parámetros como necesites.
El tipo de retorno siempre debe coincidir con el valor enviado por return.
El resultado puede guardarse en una variable o usarse directamente.
En Kotlin, Unit es un tipo de retorno especial que indica que una función no devuelve ningún valor útil.
Es similar al void en Java, pero con una diferencia importante: Unit es un tipo real, no solo la ausencia de tipo.
✅ ¿Qué es Unit?
Representa que la función no retorna un valor significativo.
Internamente es un objeto, no algo vacío.
Kotlin lo usa para mantener la consistencia del lenguaje, ya que todo debe tener un tipo.
En la práctica, cuando escribes una función que no retorna nada, puedes omitir Unit, porque Kotlin lo asume automáticamente.
✅ Ejemplo explícito con Unit
fun mostrarMensaje(mensaje: String): Unit {
println(mensaje)
}
Aquí la función tiene un parámetro y no retorna nada más allá de realizar una acción.
✅ Ejemplo simplificado (forma más común)
fun mostrarMensaje(mensaje: String) {
println(mensaje)
}
Kotlin asume automáticamente el tipo de retorno Unit.
Kotlin Desde Cero: Fundamentos Básicos es el punto de partida ideal para quienes desean aprender programación de forma clara, práctica y desde cero absoluto. Ya sea que quieras comenzar en el desarrollo de aplicaciones Android, explorar Kotlin o simplemente aprender un lenguaje moderno, este curso te guiará paso a paso en tu camino.
Aquí aprenderás los conceptos esenciales del lenguaje: sintaxis, variables, tipos de datos, estructuras de control, funciones, colecciones y más. Todo explicado de manera sencilla, con ejemplos claros y ejercicios diseñados especialmente para quienes están empezando.
No necesitas experiencia previa en programación. Únicamente ganas de aprender, practicar y dar tus primeros pasos con un lenguaje fresco, seguro, fácil de leer y respaldado por JetBrains y Google.
¿Qué aprenderás?
Comprender la sintaxis básica de Kotlin de forma clara y práctica.
Declarar variables, trabajar con tipos de datos y manejar operadores.
Utilizar estructuras de control como condicionales y bucles.
Manipular colecciones como listas, mapas y conjuntos.
Construir tu lógica de programación desde cero.
Crear y utilizar funciones de manera correcta y eficiente.
Desarrollar una base sólida para pasar a temas más avanzados o Android.
Este curso te dará la base que necesitas para continuar hacia temas más avanzados como programación orientada a objetos (POO), Android, Kotlin Multiplatform o automatización.
¡Comienza hoy mismo y da tu primer paso en el mundo de Kotlin!