From 77f2e4130f6e208c1acfddd1c861b5a6eed811f3 Mon Sep 17 00:00:00 2001 From: SalatielGenol Date: Sun, 16 Oct 2022 12:08:10 +0200 Subject: [PATCH] =?UTF-8?q?A=C3=B1adida=20secci=C3=B3n=20de=20operadores?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kotlin.md | 79 ++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 75 insertions(+), 4 deletions(-) diff --git a/kotlin.md b/kotlin.md index 5de2ee3..4940b1b 100644 --- a/kotlin.md +++ b/kotlin.md @@ -14,7 +14,7 @@ */ ``` -#### Variables +#### Variables mutables Se debe usar siempre la inferencia de tipos, aunque se pueda asignar el tipo de variable. La inicialización aquí es obligatoria. @@ -28,8 +28,79 @@ var nombreVariable: Char = 'a' var nombreVariable: String = "qwerty" ``` -#### Constantes +#### Variables inmutables ```kotlin -val nombreConstante[:tipo] = valor -``` \ No newline at end of file +val nombreVariableInmutable[:tipo] = valor +``` + +#### Constantes + +Las constantes se deben declarar e inicializar en ámbito global. + +```kotlin +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 | 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 | \ No newline at end of file