Kotlin Academy · Lección

val frente a var: inmutabilidad desde el primer día

Comprenda la diferencia entre val y var y por qué importa la inmutabilidad

Lección 2 de 413 pasos

val frente a var: inmutabilidad desde el primer día es una lección gratuita de Kotlin Academy en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Kotlin Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Kotlin Academy incluye 4 lecciones en total.

Dos formas de declarar una variable

Kotlin tiene dos palabras clave para declarar variables: val para referencias de solo lectura (inmutables) y var para referencias mutables. Elegir correctamente es importante.

val: referencia de solo lectura

val declara una referencia que no se puede reasignar después de inicializarla. Piense en ella como final en Java.
val name = "Kotlin"
println(name)
// name = "Java" // Error: Val cannot be reassigned

var: referencia mutable

var declara una variable que se puede reasignar. Use var solo cuando realmente necesite modificar el valor.
var counter = 0
counter = 1
counter += 1
println(counter) // 2

Inferencia de tipos

Kotlin infiere el tipo a partir del valor inicial. También puede escribir el tipo explícitamente después de dos puntos.
val age = 25          // inferred: Int
val name: String = "Ana"  // explicit type
var score: Double = 0.0

val no significa que el objeto sea inmutable

val impide reasignar la referencia, pero el objeto en sí puede seguir siendo mutable. A una MutableList declarada con val todavía se le pueden añadir elementos.
val list = mutableListOf(1, 2, 3)
list.add(4)        // OK! list is val but mutable
// list = mutableListOf() // Error: reassignment

Prefiera val de forma predeterminada

Las guías de estilo de Kotlin recomiendan usar val de forma predeterminada. Esto hace que el código sea más seguro y fácil de razonar. Cambie a var solo cuando sea necesario modificar el valor.
val pi = 3.14159     // constant value
val greeting = "Hi"  // never changes
var retries = 3      // will be decremented

val frente a const val

const val se usa para constantes en tiempo de compilación (valores primitivos y String en el nivel superior o dentro de un object/companion). val es una constante en tiempo de ejecución.
const val MAX_SIZE = 100    // compile-time
val instance = MyClass()    // runtime

var sin inicializar

Puede declarar un var sin inicializarlo, pero DEBE proporcionar un tipo y asignarle un valor antes de usarlo. val siempre debe inicializarse.
var result: String
result = "computed"
println(result)

Ámbito y ocultación

Las variables pertenecen al ámbito de su bloque. Los ámbitos internos pueden ocultar las variables externas, pero esto puede resultar confuso; por eso, use nombres significativos.
val x = 10
run {
    val x = 20  // shadows outer x
    println(x)  // 20
}
println(x)      // 10

Convenciones de nombres

Kotlin usa camelCase para las variables y las funciones. Las constantes (const val) usan UPPER_SNAKE_CASE. Las clases usan PascalCase.
val firstName = "Jane"     // camelCase
const val MAX_ITEMS = 50   // UPPER_SNAKE_CASE
class UserProfile           // PascalCase

Por qué importa la inmutabilidad

Los datos inmutables son seguros para los hilos de forma predeterminada, fáciles de probar y reducen los errores causados por modificaciones inesperadas. Pregúntese siempre: ¿necesito cambiar este valor?

Comprobación rápida

¿Qué palabra clave declara en Kotlin una referencia de solo lectura que no se puede reasignar?

Resumen

val = referencia de solo lectura, var = mutable. Prefiera val. La inferencia de tipos permite omitir los tipos explícitos. A continuación: ¡los tipos integrados de Kotlin!
Gratis para empezar

Aprende Kotlin con un tutor de IA — gratis

Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.

Cursos
51
Lecciones
203

Preguntas frecuentes

¿La lección «val frente a var: inmutabilidad desde el primer día» es gratis?

Sí — el texto completo de «val frente a var: inmutabilidad desde el primer día» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Kotlin Academy, actualiza a CoddyKit PRO. El curso de Kotlin Academy incluye 4 lecciones en total.

¿Qué aprenderé en «val frente a var: inmutabilidad desde el primer día»?

Comprenda la diferencia entre val y var y por qué importa la inmutabilidad Practicas Kotlin Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Kotlin Academy?

No se requiere experiencia previa. Kotlin Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.

¿Cuánto tiempo toma la lección «val frente a var: inmutabilidad desde el primer día»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Kotlin Academy?

Sí. Cada lección de Kotlin Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Configurar Kotlin: REPL, IntelliJ y el entorno de pruebas en línea
  2. val frente a var: inmutabilidad desde el primer día
  3. Tipos básicos de Kotlin: Int, Double, Boolean y Char
  4. Su primer programa en Kotlin: main, println y entrada
← Volver a Kotlin Academy