3.5 KiB
3.5 KiB
Documentación Kotlin
Comentarios
// Comentario en una línea
/*
Comentario multilinea
*/
/**
* Comentario para documentación
*/
Variables mutables
Se debe usar siempre la inferencia de tipos, aunque se pueda asignar el tipo de variable. La inicialización aquí es, de facto, obligatoria.
var nombreVariable[: tipo] = valor
var nombreVariable: Byte|Short|Int|Long = 1[L]
var nombreVariable: Float|Double 1.1[F]
var nombreVariable: Boolean = true
var nombreVariable: Char = 'a'
var nombreVariable: String = "qwerty"
Variables inmutables
val nombreVariableInmutable[: tipo] = valor
Constantes
Las constantes se deben declarar e inicializar en ámbito global.
const val nombreConstante[: tipo] = valor
Operadores
Aritméticos
| Operación | Signo | Uso | Resultado |
|---|---|---|---|
| Suma | + | a=5,b=5 | a+b=10 |
| Resta | - | a=5,b=5 | a-b=0 |
| Multiplicación | * | a=5,b=5 | a*b=25 |
| División | / | a=5,b=3 | a/b=1 |
| Módulo | % | a=5,b=3 | a%b=2 |
Unarios
| Operación | Signo | Uso | Resultado |
|---|---|---|---|
| Cambio de signo | - | a=-1 | -a=1 |
| Convierte a int | + | a=F | +a=70 |
| Decremento | -- | a=5 | --a=4 |
| Incremento | ++ | a=5 | ++a=6 |
| Negación lógica | ! | a=true | !a=false |
De asignación
| Operación | Signo | Uso | Resultado |
|---|---|---|---|
| Suma/asigna | += | a=5 | a+=3; 8 |
| Multiplica/asigna | *= | a=5 | a*=3; 25 |
| Resta/asigna | -= | a=5 | a-=3; 2 |
| Divide/asigna | /= | a=5 | a/=3; 1 |
| Módulo/asigna | %= | a=5 | a%=3; 2 |
| Asigna | = | a=5 | a=3; 3 |
Relacionales
| Operación | Signo | Uso | Resultado |
|---|---|---|---|
| Igual a | == | a=5,b=3 | a==b; false |
| Distinto que | != | a=5,b=3 | a!=b; true |
| Menor que | < | a=5,b=3 | a<b; false |
| Mayor que | > | a=5,b=3 | a>b; true |
| Menor o igual que | <= | a=5,b=3 | a<=b; false |
| Mayor o igual que | >= | a=5,b=3 | a>=b; true |
Lógicos
| Resultado | Signo | Uso |
|---|---|---|
| si a es false, b no se evalúa | && | a&&b |
| si a es false, b no se evalúa | || | a||b |
Operaciones con bits
| Resultado | Signo | Uso |
|---|---|---|
| Operación AND | and() | a and b |
| Operación OR | or() | a or b |
| Operación XOR | xor() | a xor b |
| Operación NOT | inv() | a.inv() |
| Mueve en a bits de b a izq | shl() | a shl b |
| Mueve en a bits de b a dcha | shr() | a shr b |
| Igual, pero sin el signo (-) | ushr() | a ushr b |
Tratamiento de null
Primero es necesario especificar que el elemento permite valores null, para ello se añade ? en la declaración
var nombreVariable: tipo? = valor
Una vez desbloqueada la limitación, se debe controlar la posibilidad de que tome un valor null.