1. Anterior: Índice
  2. Siguiente: Capítulo 2
Kotlin: Una Guía Ilustrada • Capítulo 1

Variables, Expresiones y Tipos

Chapter cover image
Arquímedes está decidiendo cómo nombrar a su constante...

¿Quieres ser desarrollador de Kotlin?

¡Estás en el lugar correcto!

Este libro te tomará por los fundamentos de Kotlin, gentilmente introduciendo los conceptos principales del lenguaje, para ayudarte a ser un competente desarrollador Kotlin. Incluso si eres un desarrollador más experimentado, es importante saber los fundamentos para establecer una sólida fundación de entendimiento, para que puedas ser lo más efectivo posible.

Tu aventura comienza aquí en el capítulo 1, donde cubriremos lo básico de variables, expresiones y tipos.

¡Hagámoslo!


Introducción a las variables

Este es un círculo.

A circle

Miles de años en el pasado, un griego llamado Arquímedes descubrió como medir el largo de la parte de afuera de un círculo, llamado la circunferencia. Tu probablemente recuerdes la ecuación cuando estabas en el colegio…

Circunferencia = 2 x pi x r Circunferencia = 2  r

“La circunferencia de un círculo es igual a dos multiplicado por π multiplicado por el radio del círculo”

En la ecuación arriba la letra r no es un número por si solo. Esa letra representa el radio, un número que mide la distancia entre el centro del círculo y el borde de el mismo.

La circunferencia de un círculo c i r c u n f e r e n c i a r

Nosotros vamos a llamar r una variable, porque el radio puede variar dependiendo el tamaño del círculo. En otras palabras, la variable r no es un número por sí solo, es algo así como un “balde” que contiene un número – cualquier número.

An empty bucket r

Las variables no son solo para algebra y geometría. Ellas también son usadas todo el tiempo en programación, donde sirven para un solo propósito: contener valores. En Kotlin, tu puedes crear una variable y colocar un número en ella, por ejemplo:

var r = 5.2

Este código está haciendo dos cosas en una línea.

Variable declaration and assignment var r = 5.2 asignaci ó n declaraci ó n
  1. Declaración – Cuando escribimos var r, estamos declarando una variable llamada r. Puedes pensar que declarando una variable es como crear un balde.
  2. Asignación – Cuando escribimos r = 5.2, estamos asignando el valor 5.2 a la variable r. En otras palabras, colocamos el número 5.2 en el balde.
A bucket with the value 5.2 r 5.2

Vamos a dividir las tres partes de esta línea de código.

The keyword, the variable name, and the value var r = 5.2 nombre de la variable palabra reservada valor

En este código…

  • var es una palabra reservada que dice a Kotlin crea una variable.
  • r es el nombre de la variable. Tú puedes también referirte a él como el identificador de la variable.
  • El número 5.2 es el valor de la variable que está siendo asignada.

var es una de las muchas palabras claves que vamos a ver cuándo sigamos aprendiendo Kotlin. Lo importante que hay que recordar acerca de estas palabras claves que no pueden ser usadas para nombrar variables. Por ejemplo, tú no puedes usar var como el nombre de una variable:

var var = 5
Error

Vamos a ver más variables en futuros capítulos.

Reasignación de Variables

Como notamos anteriormente, en la ecuación 2πr, la variable r puede representar diferentes números en diferentes situaciones.

Circles of different sizes 10.0 5.2 6.7

En Kotlin, si tú decides que quieres que r represente un número diferente, tú puedes reasignarlo, como muestra en la segunda línea de código.

var r = 5.2
r = 6.7

Cuando reasignamos esta variable, nosotros no necesitamos usar la palabra clave var de nuevo, porque la variable fue declarada en la primera línea.

Variables que no pueden ser Reasignadas

Veamos de nuevo la ecuación de la circunferencia:

Circunferencia = 2 x pi x r Circunferencia = 2  r

La letra griega π (pronunciada “pi”) es muy diferente a la variable r. Mientras r puede guardar cualquier número en él, π solo tiene un valor específico, el cual abreviamos como 3.14.

En la misma manera cuando programamos en Kotlin, hay momentos en que no queremos que una variable cambie.

A bucket that only ever holds one thing 3.14 6.28

En esos casos, en vez declararlo con var, lo declaras con val, de esta manera:

val π = 3.14

Ahora, si tratas de reasignar π, vas a tener un error

val π = 3.14
π = 1.23
Error

Una vez que pones algo en este balde, ¡nunca puedes reemplazarlo!

Declarando tus variables con val es una buena manera de garantizar que no cambies el valor de algo que no debería ser cambiado. De hecho, es una buena idea empezar siempre con val, y cambiar a var solamente cuando es absolutamente necesario.

Nombrar Variables

Ha sido divertido usar la letra π en nuestro código, pero a menos que vivas en Grecia probablemente no tengas esa letra en el teclado. A partir de ahora, vamos a hacer nuestra vida más fácil nombrándola pi. También en vez de r vamos a llamarlo radio, de tal manera que si otros desarrolladores vienen a ayudar ellos sabe exactamente lo que esa variable representa – no queremos que otros se pongan a adivinar el significado de la letra r.

Algunas veces necesitamos usar más de una palabra para los identificadores de variables. En Kotlin, es costumbre empezar la primera palabra en minúscula y hacer las demás palabras en mayúscula como se muestra aquí:

var radioDelCirculo = 5.2

Ahora que tienes idea de lo básico para declarar y asignar variables, podemos empezar asignando más de números simples – podemos asignar cálculos más complejos, como la ecuación de la circunferencia. Vamos a profundizar en las expresiones.

Expresiones y Declaraciones

Vamos a mirar la ecuación de la circunferencia otra vez.

Circunferencia = 2 x pi x r Circunferencia = 2  r

Ya habíamos creado una variable para pi y una variable para el radio, ahora necesitamos que Kotlin haga un poco de matemáticas para nosotros, y podamos sacar el valor de la circunferencia de cualquier círculo sin importar cuan grande es el círculo.

Lo que tenemos que hacer ahora es multiplicar 2, pi y el radio. En Kotlin como en la mayoría de los lenguajes, multiplicación no se representa con una x, se representa con un *, entonces ahora nuestro código luce así:

var radio = 5.2
val pi = 3.14

val circunferencia = 2 * pi * radio

Hasta ahora hemos asignado simple valores como 5.2 y 3.14. Este es la primera vez que asignamos algo más complejo: 2 * pi * radio.

Cuando Kotlin ve esto, simplemente calcula el resultado para ti – multiplica 2 veces pi por el radio y luego toma el resultado y lo asigna a la variable llamada circunferencia. En este caso (con un radio de 5.2), la circunferencia es igual a 32.656.

A circle with the circumference calculated. c i r c u n f e r e n c i a r 32.656 5.2

Ahora 2 * pi * radio puede ser calculado a un valor como este, podemos decir de que es evaluado. Código que puede ser evaluado se llama una expresión. Aquí tenemos unos ejemplos:

  • 2 + 3
  • 2 * pi * r
  • pi * r * r

Variables by themselves are also expressions - they evaluate to whatever value they hold:

  • radio
  • pi

Cuando escribes un número a mano, es llamado un número literal. Literales son también expresiones – ellos se evalúan así mismos. Aquí tienes unos ejemplos:

  • 2
  • 5.2
  • 3.14

Todos estos ejemplos pueden evaluarse a algún valor. Por otro lado, cuando tienes una línea o líneas de código que no se evalúa a un valor es llamado declaración.

Rule: Si asignas varias líneas de código a una variable, es una expresión. De lo contrario es una declaración.

Vamos a aplicar esta regla a la primera expresión de cada una de las líneas de estas tres listas de arriba (2 + 3, radio, y 2). Las partes resaltadas abajo son expresiones:

val a = 2 + 3
val b = radio
val c = 2

Como todas estas pueden ser asignadas a una variable, son llamadas expresiones.

La única declaración que hemos visto hasta ahora es la declaración de asignación como val pi = 3.14. Aplicar nuestra regla general a una declaración de tarea parece confuso, por supuesto, porque estamos usando una asignación en otra asignación (¡ay!)

val a = val pi = 3.14
Error

Si tratas de hacer esto, Kotlin te da un mensaje de error bien claro: “Expecting an expression” o “Esperando una Expresión”. Si ves este mensaje de error, significa que has tratado de usa una declaración cuando Kotlin quería una expresión.

La distinción entre declaraciones y expresiones es importante a medida que aprendes Kotlin, y vamos a usarlo bastante a menudo en este libro.

Hasta este momento hemos usado literales o expresiones complejas, solo asignando números a variables. ¡Pero hay muchas cosas diferentes que variables pueden contener¡ Vamos a explorar algunas de esas cosas a continuación.

Tipos: Diferentes tipos de valores

En Kotlin, diferentes variables pueden contener diferentes tipos de valores. El tipo de valor de una variable contiene es llamado tipo.

Veamos de nuevo las variables radio y pi:

var radio = 5.2
val pi = 3.14

En este caso, ambos radio y pi representan números que tiene un punto decimal el cual es un tipo que Kotlin lo llama Double. Si quieres, pudieses también decirle a Kotlin el tipo de la variable tú mismo, de la siguiente manera:

var radio: Double = 5.2
val pi: Double = 3.14

Cuando hacemos esto, estamos especificando explícitamente el tipo de la variable.

Muy a menudo no necesitamos hacer esto. Kotlin hace lo mejor posible por inferir el tipo basado en lo que sea le estamos asignado. Este proceso es llamado inferencia de tipos.

Entonces cuando escribimos esto…

var radio = 5.2

…entonces le decimos a Kotlin que 5.2 es un Double, y automáticamente usa el tipo Double en el radio.

En adición a Double, hay más tipos básicos que sería bueno saber. Demos una mirada a ellos en este momento.

Integers (Enteros)

Hasta ahora hemos aprendido números que tienen punto decimal en ellos, como 5.2 y 3.14. Pero también puedes usar un número que note tenga punto decimal, como solo 5 y 3.

Este tipo de números son llamados Integers, y en Kotlin el tipo para un Integer es llamado de manera abreviada Int. Aquí está un ejemplo de cómo crear una variable Integer:

val numeroDePerros: Int = 3

Booleans

A veces tú quieres una variable contenga un valor que pueda ser prendido o apagado, o verdad o falso, etc.

En esos casos, tu necesitas una variable de tipo Boolean.

val esLaTierraRedonda: Boolean = true
val esLaTierraPlana: Boolean = false

¿Por qué se llama Boolean?

Es llamada en nombre de George Boole creador de una rama del algebra que trabaja con valores de verdadero y falso en vez de números en el siglo XIX.

Impresionante.

Strings (Cadenas)

Tú también puedes almacenar texto en una variable. La palabra elegante del programador para esto es cadena, porque es un montón de caracteres – como letras, números, y símbolos “unidos” juntos:

String of characters... with a string running through them. a n e d a c a n u s e o t s E

En Kotlin, el tipo para cadenas es llamado String, y tú puedes crear una variable String de la siguiente manera:

val texto: String = "Esto es una cadena"

Otros Tipos

Estos son los tipos de variable más comunes. A medida que continuamos con esta serie, vamos a descubrir como crear nuestros propios tipos – clases – lo cual es basado en estos tipos básicos que acabamos de ver.

Tipos y Reasignación

En Kotlin, los tipos de cada variable son establecidos cuando escribes el código, y su tipo nunca cambia (a menos que reescribas el código). Esto es porque llamamos esto static typing. Una vez que la variable ha sido declarada con un tipo particular, no otro tipo puede ser usado en dicha variable. Por ejemplo, si creamos una variable de tipo Int, no podemos después asignarle un valor de tipo String.

var numeroDePerros: Int = 5
numeroDePerros = "cinco"
Error

En capítulos futuros, vamos a ver como static typing se desarrolla en mas formas que simplemente reasignar variables. Veremos como algunos tipos pueden ser subtipos.

Nos estamos adelantando – ¡por ahora terminemos el capítulo!

Resumen

En este capítulo, aprendimos:

  • Variables
    • Usar var para variables que pueden ser reasignadas.
    • Usar val para variables que son de lectura (read-only).
  • Expresiones y Sentencias
    • Expresiones pueden ser evaluadas a un valor.
    • Sentencias no pueden ser evaluadas a un valor.
    • Puedes asignar varias líneas de código a una variable para ver si es una. sentencia o una expresión.
  • Tipos Básicos
    • Tipos para números como Double e Int.
    • El tipo Boolean para valores true o false.
    • El tipo String para valores de texto

Ahora que tenemos una idea de lo que son las variables, es tiempo de ponerlas juntas en diferentes maneras. ¡Estén atentos al capítulo 2, donde aprenderemos todo sobre las funciones en Kotlin!

Share this article:

  • Share on Twitter
  • Share on Facebook
  • Share on Reddit