Los tipos de datos principales de Kotlin

Los tipos de datos principales de Kotlin

En esta ocasión te voy a mostrar con unos cuantos ejemplos, los principales tipos de datos de Kotlin.

Los Strings en Kotlin

Los strings en Kotlin son tipos de datos que van a contener cadenas de caracteres (texto). Estos strings se representan indicando el tipo de dato en la variable o constante:

val color1: String = "rojo"
val color2 = "azul"

println(color1)
println(color2)

Resultado en la consola

rojo
azul

Si te fijas, en la primera constante ("color1") he especificado con ": String" que la variable contrendrá un valor de tipo String. Esto no es necesario y además es redundante, Kotlin ya sabe por las comillas del string que es un string.

tipos de datos kotlin

Los enteros en Kotlin

En Kotlin tenemos varios tipos de datos para números enteros. Cada uno de ellos ocupa más o menos espacio en memoria en tiempo de ejecución.

Imagina estos diferentes tipos de datos como cajas. Unas más grandes que otras. Aunque no llenes estas cajas, van a ocupar todo el espacio de su tamaño. Lo mismo ocurre con las variables y las constantes en la memoria RAM.

El tipo de dato Byte

El tipo de dato Byte ocupa 8 bits (1 byte) en memoria. Este espacio, crea la posibilidad de almacenar en él valores del -128 al 127 (256 posibles valores).

Lo mismo ocurre con los otros tipos de datos, podemos especificarlo explícitamente o no.

val numero1: Byte = 100
val numero2 = -75

println(numero1)
println(numero2)

Resultado en la consola

100
-75

Si intentas asignar un valor más grande que los que te he puesto en el rango, te dará error.

Error en la consola

The integer literal does not conform to the expected type Byte

El literal entero no se ajusta al tipo Byte esperado.

No obstante, ¿por qué no me da error en "numero2" si es más grande? Eso es porqué no le he especificado explícitamente que era un Byte, por lo tanto, Kotlin ajusta los tipos de las variables y constantes a los valores asignados, a no ser, que queramos poner explícitamente el tipo de dato como he hecho con "numero1".

Sin embargo, hay que detallar, que no hace perfectamente este ajuste automático, ya que ese 2000, podría ser un tipo Short (el siguiente tipo de dato), pero lo pone como Int.

El tipo de dato Short

El tipo de dato short ocupa un espacio en memoria de 16 bits (2 bytes). Este tamaño permite almacenar números enteros de entre -32768 a 32767.

val numero1: Short = 14700

println(numero1)

Resultado en la consola

14700

El tipo de dato Int

El tipo de dato Int ocupa 32 bits (4 bytes) en memoria y permite números de entre -2,147,483,648 y 2,147,483,647. Especificar Int es redundante al igual que String en los contenedores (var y val), ya que por defecto, si encuentra unas comillas, es un string y si encuentra un valor entero del tamaño que sea (a no ser que sea muy grande), por defecto, siempre es Int. Si sobrepasa el rango del Int, automáticamente será Long.

val numero1: Int = 1470000000

println(numero1)

El tipo de dato Long

Este tipo de dato está diseñado para números enteros muy grandes, va desde -9,223,372,036,854,775,808 hasta 9,223,372,036,854,775,807. Ocupa en memoria 64 bits (8 Bytes).

val numero1: Long = 2300000000000000000

println(numero1)

Resultado en la consola

2300000000000000000

En este caso, aunque sea redundante poner Long, no te lo avisa Android Studio. Si no lo pones, automáticamente se pone como Long al guardar un número tan largo.

Opcionalmente, puedes añadirl una "L" mayúscula para indicar que el número es de tipo long.

val numero1 = 1222222222222222222L

println(numero1)

Dicha "L" no afectará a cálculos matemáticos y tampoco será visualizada en la consola o en las apps que crees.

Los decimales en Kotlin

En Kotlin tenemos dos tipos de datos decimales. Los float y los double.

El tipo de dato Float

El tipo de dato float ocupa 32 bits en memoria (4 bytes) y permite almacenar números con hasta 7 decimales.

Por defecto, si no especificamos que un decimal es float, Kotlin va a especificar la variable como tipo double. Eso quiere decir que aquí hay que indicarlo explícitamente con una "F" en el valor o con "Float".

val numero1 = 3.1234567F

println(numero1)

Resultado en la consola

3.1234567
val numero1: Float = 3.12345678F

println(numero1)

Por cierto, los decimales se expresan siempre con un punto y no con una coma.

El tipo de dato Double

El tipo de dato double es el tipo por defecto que nos da Kotlin en las variables o constantes cuando especificamos un valor decimal. Ocupa 64 bits en memoria (8 bytes) y nos da la posibilidad de almacenar hasta 16 decimales.

Puesto que es el tipo por defecto con decimales, utilizar "Double" en la declaración, es redundante.

val numero1 = 30.123456789
val numero2: Double = 67.432543346456

El tipo de dato Boolean

El tipo de dato Boolean, booleano en español, nos permite almacenar dos posibles valores, true (verdadero) o false (falso).

Este tipo de dato lo veremos en detalle cuando empecemos con los condicionales.

val condicion1 = true

val condicion2: Boolean = false

En este caso, no hace falta indicar explícitamente "Boolean", ya que Kotlin sabe que es un valor Boolean solo con contener un true o un false sin comillas.

No te pierdas la categoría Android para ver el resto de capítulos.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

constantes kotlin Entrada anterior Las constantes en Kotlin
operadores comparacion if Entrada siguiente El condicional IF y los operadores de comparación en Kotlin