Variables en Kotlin
video[Tutorial] Variables en Kotlin
La declaración de variables utiliza una sintaxis diferente a Java. Puedes apreciar cómo es necesario utilizar la palabra reservada var.
int i = 1; String s = "Hola"; double d; |
var i: Int = 1 var s: String = "Hola" var d: Double |
var i = 1 var s = "Hola" var d: Double |
Existen dos tipos de variables en Kotlin, mutables e inmutables. Para diferenciarlas iniciaremos var o val. Una variable inmutable no puede ser modificada una vez ha sido inicializada. Es decir, se comporta como una constante. Es lo mismo que utilizar final en Java. El concepto de inmutabilidad es muy interesante. Al no poder cambiar los objetos estos son más robustos y eficientes. Siempre que podamos hemos de usar objetos inmutables.
final int i = j + 1; final String s ="Hola"; |
val i = j + 1 val s = "Hola" |
val i = 1 i = i + 1 //ERROR |
const val PI = 3.1416 |
const val MONEDA = "Euro" |
Los tipos primitivos de Java (int, double, char, …) han sido reemplazados por clases (Int, Double, Char, …). Internamente, estos valores se representan como lo hace Java, pero estos detalles son ocultados al programador que ha de tratarlos como si fueran clases.
En la siguiente tabla se muestra los tipos simples en Kotlin. Su representación interna coincide al 100% con los de Java, la única diferencia es que en Kotlin son tratados como objetos. Esto simplifica la programación; en Kotlin solo tendremos que tratar con un tipo de datos, los objetos. Pero internamente se pasan a tipos primitivos cuando es posible. El tipo Unit corresponde a void en Java.
En Kotlin no hay conversión directa entre números, de modo que tendremos que usar las funciones correspondientes para cambios de tipo. Además, Char no puede ser convertido directamente a un número.
val i: Int = 7 val d: Double = i.toDouble |
val c: Char = 'c' val i: Int = c.toInt() |
Los operadores para manipular variables coinciden en Java y Kotlin. Con excepción de los que trabajan con operaciones a nivel de bit:
int v = 0b00110100 | 0b00001111; int v = 0b00110100 & 0b00001111; int v = 0b00110100 ^ 0b00001111; int v = 1 << 4; int v = 0b10000000 >> 1; int v = 0b10000000 >>> 1; int v = ~ 0b10000000; |
val v = 0b00110100 or 0b00001111 val v = 0b00110100 and 0b00001111 val v = 0b00110100 xor 0b00001111 val v = 1 shl 4 val v = 0b10000000 shr 1 val v = 0b10000000 ushr 1 val v = 0b10000000.inv() |
Strings
Usa el operador + para concatenar cadenas, o incluso otros tipos siempre que el primer elemento sea una cadena:
println("La cadena " + s + " tiene " + s.length + " caracteres.")
Puedes usar el carácter $ para insertar variables o expresiones:
printn("La cadena $s tiene ${s.length} caracteres.")
Para añadir el carácter $ usa:
println("Precio en dólares ${'$'}99")En Kotlin puedes declarar una cadena usando comillas triples. Estas cadenas pueden contener saltos de línea y tabuladores sin necesidad de usar \n, \t y \":
val cadena = "\n<HTML>\n\t\"texto\"\n</HTML>" |
val cadena =""" <HTML> "texto" </HTML> """ |