¿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.
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…
“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.
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.
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.2Este código está haciendo dos cosas en una línea.
- Declaración – Cuando escribimos
var r, estamos declarando una variable llamadar. Puedes pensar que declarando una variable es como crear un balde.- Asignación – Cuando escribimos
r = 5.2, estamos asignando el valor5.2a la variabler. En otras palabras, colocamos el número5.2en el balde.Vamos a dividir las tres partes de esta línea de código.
En este código…
vares una palabra reservada que dice a Kotlin crea una variable.res el nombre de la variable. Tú puedes también referirte a él como el identificador de la variable.- El número
5.2es 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 = 5ErrorVamos a ver más variables en futuros capítulos.
Reasignación de Variables
Como notamos anteriormente, en la ecuación 2πr, la variable
rpuede representar diferentes números en diferentes situaciones.En Kotlin, si tú decides que quieres que
rrepresente un número diferente, tú puedes reasignarlo, como muestra en la segunda línea de código.var r = 5.2 r = 6.7Cuando reasignamos esta variable, nosotros no necesitamos usar la palabra clave
varde 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:
La letra griega
π(pronunciada “pi”) es muy diferente a la variabler. Mientrasrpuede 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.
En esos casos, en vez declararlo con
var, lo declaras conval, de esta manera:val π = 3.14Ahora, si tratas de reasignar
π, vas a tener un errorval π = 3.14 π = 1.23ErrorUna vez que pones algo en este balde, ¡nunca puedes reemplazarlo!
Declarando tus variables con
vales 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 conval, y cambiar avarsolamente 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ándolapi. También en vez dervamos a llamarloradio, 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 letrar.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.2Ahora 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.
Ya habíamos creado una variable para
piy una variable para elradio, 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,piy elradio. En Kotlin como en la mayoría de los lenguajes, multiplicación no se representa con unax, se representa con un*, entonces ahora nuestro código luce así:var radio = 5.2 val pi = 3.14 val circunferencia = 2 * pi * radioHasta ahora hemos asignado simple valores como
5.2y3.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
2vecespipor elradioy luego toma el resultado y lo asigna a la variable llamadacircunferencia. En este caso (con un radio de5.2), lacircunferenciaes igual a32.656.Ahora
2 * pi * radiopuede 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 + 32 * pi * rpi * r * rVariables by themselves are also expressions - they evaluate to whatever value they hold:
radiopiCuando 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:
25.23.14Todos 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, y2). Las partes resaltadas abajo son expresiones:val a = 2 + 3 val b = radio val c = 2Como 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.14ErrorSi 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
radioypi:var radio = 5.2 val pi = 3.14En este caso, ambos
radioypirepresentan números que tiene un punto decimal el cual es un tipo que Kotlin lo llamaDouble. 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.14Cuando 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.2es unDouble, y automáticamente usa el tipoDoubleen elradio.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.2y3.14. Pero también puedes usar un número que note tenga punto decimal, como solo5y3.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 = 3Booleans
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:
En Kotlin, el tipo para cadenas es llamado
String, y tú puedes crear una variableStringde 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 tipoString.var numeroDePerros: Int = 5 numeroDePerros = "cinco"ErrorEn 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
varpara variables que pueden ser reasignadas.- Usar
valpara 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
DoubleeInt.- El tipo
Booleanpara valorestrueofalse.- El tipo
Stringpara valores de textoAhora 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!