0% encontró este documento útil (0 votos)
17 vistas18 páginas

Kotlin

El documento proporciona una guía sobre el uso de variables, operadores, tipos de datos, cadenas, comentarios, estructuras de control como if y when, bucles, funciones y funciones recursivas en Kotlin. Se explican las diferencias entre variables mutables e inmutables, así como la conversión de tipos y el uso de operadores aritméticos y lógicos. Además, se incluyen ejemplos prácticos de código para ilustrar cada concepto.

Cargado por

jossavva
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Temas abordados

  • estructura de control,
  • funciones de usuario,
  • funciones anidadas,
  • división,
  • funciones de extensión,
  • if,
  • valores nulos,
  • plantillas de cadena,
  • valores por defecto,
  • funciones inline
0% encontró este documento útil (0 votos)
17 vistas18 páginas

Kotlin

El documento proporciona una guía sobre el uso de variables, operadores, tipos de datos, cadenas, comentarios, estructuras de control como if y when, bucles, funciones y funciones recursivas en Kotlin. Se explican las diferencias entre variables mutables e inmutables, así como la conversión de tipos y el uso de operadores aritméticos y lógicos. Además, se incluyen ejemplos prácticos de código para ilustrar cada concepto.

Cargado por

jossavva
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Temas abordados

  • estructura de control,
  • funciones de usuario,
  • funciones anidadas,
  • división,
  • funciones de extensión,
  • if,
  • valores nulos,
  • plantillas de cadena,
  • valores por defecto,
  • funciones inline

VARIABLES

Friday, October 30, 2020 9:13 AM

Variables en KOTLIN MUTABLES INMUTABLES DEFINIDAS CON val


1. Mutables. DEFINIDAS CON var
2. Inmutables. val saludo = "Bienvenido"
var edad = 10
val saludo: String ="Este es un saludo"
var edad: Int = 100

EN KOTLIN NO ES NECESARIO INICIALIZAR LAS VARIABLES, SE PUEDE DEFINIR SU VALOR


POSTERIORMENTE.

var name:String
val salario

name = "Jaime"
salario = 11325.00

KOTLIN página 1
OPERADORES
Friday, October 30, 2020 9:11 AM

1. ARITMÉTICOS. ARITMÉTICOS RELACIONALES ASIGNACIÓN


2. RELACIONALES. + > += a+=b a.plusAssign(b)
3. DE ASIGNACIÓN. - <
-= a-=b a.minusAssign(b)
4. UNARIO. * >=
5. LÓGICOS. / <= *= a*=b a.timesAssign(b)
6. RANGO. % == /= a/=b a.divAssign(b)
7. OPERADOR in. != %= a%=b a.remAssign(b)
8. ACCESO INDEXADO.

LÓGICOS OPERADOR DE RANGO


UNARIO
&& and .. a in 1..10
+ +a a.unaryPlus()
|| or
- -a a.unaryMinus()
! not
++ ++a a.inc()
-- --a a.dec()
! !a a.not()

OPERADOR in ACCESO INDEXADO


in a in b b.contains(a) a[i] a.get(i)
!in a !in b !b.contains(a) a[i,n] a.get(i,n)
a[1,2,..,n] a.get(1,2,…,n)
a[i] = b a.set(i,b)
a[i,n] = b a.set(i,n,b)
a[i1,i2,…,in] = b a.set(i1,i2,…,in,b)

KOTLIN página 2
TIPOS DE DATOS Y CONVERSIÓN ENTRE TIPOS
Friday, October 30, 2020 9:38 AM

1. Numérico. fun main(args: Array<String>) fun main(args: Array<String>)


• Byte. { {
• Short. var value1 = 100 var value3 = Long 100
• Int. val value2 : Long = value1.toLong() val value4 : Int = value3.toInt()
• Long. } }
• Double.
• Float.
2. Caracter. short 4B = 16b BYTE
3. Booleano. 2^16 = 65,536 val rango: Byte = 80
4. Cadena. CON SIGNO EL RANGO ES -32768 a 32767 println($rango)
• Escaped. SIN SIGNO 0 a 65535
• Raw.
5. Arreglo.

DOUBLE INT
val distancia: Double = 999.54 val score:Int = 100000
println($distancia) println($score)

RAW ARRAY

SON DECLARADAS CON TRIPLE (""" """) val id = arrayOf(1,2,3,4,5)


val firstid = id[0]
val rawstring:String = "Soy una raw String" val ultimo = id[id.size -1]
print($rawstring)

KOTLIN página 3
CADENAS
Friday, October 30, 2020 9:44 AM

var str: String = "Saludos" CREAR CADENA VACÍA OPERADOR INDEXADO


var str = "Saludos" var str = "Hola Mundo"
var newstring: String = 'Saludos' //ERROR var s = String() println(str[0]) //IMPRIME H
var newstring: String = 2 //ERROR

\$ ITERACIÓN SOBRE UNA CADENA SECUENCIAS DE ESCAPE


\n NUEVA LÍNEA
var nombre: String = "Cualquier nombre" for (elemento in str)
\t TABULADOR
var edad: Short = 15 {
println(elemento) \b BACKSPACE
println("Bienvenid@ $nombre tu edad es $edad") } \' COMILLA SIMPLE
\" COMILLAS DOBLES
\\ BACKSLASH
\r RETORNO DE CARRO
\$ PLANTILLA DE
CADENA

KOTLIN página 4
COMENTARIOS
Saturday, October 31, 2020 8:55 AM

// UNA LÍNEA

/**/ MÚLTIPLES LÍNEAS

KOTLIN página 5
IF
Friday, October 30, 2020 9:12 AM

If(condición) If(condición) If(condición)


{} {} {}
else else if (condición)
{} {}
else
{}

var x = 2 var y = 1 val num1 = 10


If(x%2 == 0) If(y%2 == 0) val num2 = 20
println("Es número par") println("Número par") val result = if (num1 > num2)
else {"$num1 es mayor que $num2"}
println("Número inpar") else if (num2 > num1)
{"$num2 es mayor que $num1"}
else
{"Es el mismo número"}

KOTLIN página 6
WHEN (SWITCH Ó SELECCIÓN MÚLTIPLE)
Saturday, October 31, 2020 8:56 AM

fun main (args: Array<Strings>) fun main (args: Array<Strings>)


{ {
var number = 4 var number = 4
var numberProvided = when (number) when (number)
{ {
1-> "Uno" 1-> "Uno"
2-> "Dos" 2-> "Dos"
3-> "Tres" 3-> "Tres"
4-> "Cuatro" 4-> "Cuatro"
5-> "Cinco" 5-> "Cinco"
else -> println "Valor no válido" else -> println "Valor no válido"
} }
println("Número capturado $numberProvided") }
}

fun main (args: Array<Strings>) fun main (args: Array<Strings>)


{ {
var number = 9 var mes = 11
when (number) when (mes)
{ {
1,3,5,7,9-> println("Número inpar") in 3..6 -> println("Primavera")
2,4,6,8-> println("Número par") in 7..9-> println("Verano")
else -> println "Valor no válido" in 10..11 -> println("Otoño")
} 12, in 1..2 -> println("Invierno")
println("Número capturado $number") else -> println "Valor no válido"
} }
}

fun main (args: Array<Strings>)


{
var dia = 1
when (dia)
{
1 -> { println("Hoy es Lunes")
println("primer día de la semana") }
2 -> { println("Hoy es Martes")
println("segundo día de la semana") }
3 -> { println("Hoy es Miércoles")
println("tercer día de la semana") }
4 -> { println("Hoy es Jueves")
println("cuarto día de la semana") }
KOTLIN página 7
println("cuarto día de la semana") }
5 -> { println("Hoy es Viernes")
println("quinto día de la semana") }
6 -> { println("Hoy es Sábado")
println("sexto día de la semana") }
7 -> { println("Hoy es Domingo")
println("Séptimo día de la semana") }
else -> println "Valor no válido"
}
}

KOTLIN página 8
WHILE LOOP
Tuesday, November 3, 2020 9:53 AM

while (Expresión a evaluar) fun main(args: Array<String>) fun main(args: Array<String>)


{ { {
//Sentencias del while var i = 0 var i = 100
} while (i <= 10) var sum = 0
{ while (i != 0)
println(i) {
i++ // i = i + 1 ó i += 1 sum += i
} --i
} }
println("El total es: $sum")
}

KOTLIN página 9
LOOP
Tuesday, November 3, 2020 9:30 AM

fun main (args: Array<Strings>)


for (item in collection) {
{ //IMPRIME DEL 1 AL 5
//Sentencias o cuerpo del loop println("for i in 1..5")
} for (i in 1..5) print(i)
println ()
fun main (args: Array<Strings>) //NO IMPRIME DEL 5 AL 1
{ println("for i in 5..1")
val precios = arrayOf(80.0,85.0,92.50,98.45,99.99) for (i in 5..1) print(i)
for (item in precios) println ()
{ println (item) }
} //IMPRIME DEL 1 AL 5
println("for i in 5..1")
for (i in 5 downTo 1 ) print(i)
fun main (args: Array<Strings>) println ()
{
val precios = arrayOf(80.0,85.0,92.50,98.45,99.99) //IMPRIME NÚMEROS PARES DEL 2 AL 10
for (item in precios.indices) println("for i in 2..10")
{ println ("precios[$item] = " + precios[item]) } for (i in 2..10 step 2) print(i)
} println ()

Precios[0] = 80.0 //IMPRIME NÚMEROS PARES DEL 10 AL 2


Precios[1] = 85.0 println("for i in 10..2")
Precios[2] = 92.50 for (i in 10..2 step 2) print(i)
Precios[3] = 98.45 println ()
Precios[4] = 99.99 }

KOTLIN página 10
BREAK
Wednesday, November 4, 2020 9:13 AM

fun main(args: Array<String>) fun main(args: Array<String>) Break etiquetado


{ {
for (i in 1..10) var sum = 0 fun main(args: Array<String>)
{ var num: Int {
if ( i == 5) while (true) primero@ for (i in 1..10)
{ break } { {
println(i) print("Escribe un número: ") segundo@ for (j in 1..10)
} num = readLine()!!.toInt {
} if ( num == 0) println("i = $i; j = $j")
break if ( i == 5)
sum += num break @primero
} }
println("Suma = $sum") }
} }

KOTLIN página 11
JUMP
Wednesday, November 4, 2020 9:34 AM

fun main(args: Array<String>)


{
for (i in 1..3)
{
println("i = $i")
if (j == 2)
{ continue }
}
}

KOTLIN página 12
FUN
Wednesday, November 4, 2020 9:40 AM

Librería estándar Función definida por el usuario

fun main(args: Array<String>) fun Nombre_de_la_función ()


{ {
//AQUÍ ESCRIBE SENTENCIAS //CUERPO DE LA FUNCIÓN
} }

PARA INVOCAR A UNA FUNCIÓN DEBEMOS ESCRIBIR SU NOMBRE Y LOS


PARÁMETROS QUE SEAN NECESARIOS, EN CASO NO REQUERIR
PARÁMETROS LA FUNCIÓN SOLO DEBE TERMINAR CON ().

fun main(args: Array<String>)


{
suma()
}

Fun suma()
{
var num1 = 10
var num2 = 8
println ("El resultado de la suma de $num1 + $num2 es de: " + (num1 + num2))
}

fun main(args: Array<String>)


{
var num1 = 10
var num2 = 8
suma(num1,num2)
}

Fun suma(n1,n2)
{ println ("El resultado de la suma de $n1 + $n2 es de: " + (n1 + n2)) }

fun main(args: Array<String>)


{
var num1: Int
var num2: Int
print ("Capture el primer número: ")
num1 = readLine()!!.toInt()
print ("\n Capture el segundo número: ")
num2 = readLine()!!.toInt()
suma(num1,num2)
resta(num1,num2)
mult(num1,num2)
divi(num1,num2)
}

Fun suma(n1,n2)

KOTLIN página 13
Fun suma(n1,n2)
{ println ("El resultado de la suma de $n1 + $n2 es de: " + (n1 + n2)) }

Fun resta(n1,n2)
{ println ("El resultado de la resta de $n1 - $n2 es de: " + (n1 - n2)) }

Fun mult(n1,n2)
{ println ("El resultado de la suma de $n1 * $n2 es de: " + (n1 * n2)) }

Fun divi(n1,n2)
{ println ("El resultado de la suma de $n1 / $n2 es de: " + (n1 / n2)) }

KOTLIN página 14
RECURSIVE FUNCTION
Thursday, November 5, 2020 9:11 AM

fun main(args: Array<String>)


{
recursiva()
}

fun recursiva()
{
recursiva()
}

var contador = 0 fun main(args: Array<String>)


fun reg () {
{ val num = 10
contador++ val res: Long
if (contador <= 5) res = factorial (num)
{ println("El factorial de $num es: $res")
println(contador) }
reg()
} fun factorial (n: Int): Long
} {
return if (n == 1)
fun main(args: Array<String>) { n.toLong }
{ else
reg() { n * factorial (n - 1) }
} }

fun main(args: Array<String>)


{
var num = 100000.toLong()
var sumarecursiva = recursiva(num)
println("El resultado de la suma es: $sumarecursiva")
}

tailrec fun sumarecursiva (n: Long, semiresult:Long = 0): Long


{
return if (n <= 0)
{ semiresult }
else
{ sumarecursiva ((n - 1), n + semiresult }
}

KOTLIN página 15
HIGH ORDER FUNCTION
Thursday, November 5, 2020 9:55 AM

fun myfun(org: String, portal: String, val result = fn(org, portal)


{
println(result)
}

fun myfun (org: String, portal:String, fn: (String,String) -> String): Unit
{
val result = fn(org, portal)
print(result)
}

fun main(args: Array<String>)


{
val fn:(String, String) ->String={org, portal ->"$org desarrolla $portal"}
myfun("dev.org","neilsoft.com", fn)
}

KOTLIN página 16
FUNCIÓN LAMBDA
Friday, November 6, 2020 9:16 AM

Las funciones LAMBDA no poseen un nombre y están definidas entre {}

parámetros cuerpo
{ a: Int, b: Int -> a * b} {variable -> cuerpo de la función}

Ejemplo de una suma de dos números enteros utilizando una función normal:
Fun main (args: Array<String>)
{
suma(10,12)
}

Fun suma (a: Int, b: Int)


{
val sum = a + b
print("La suma de $a + $b = " + sum)
}

Ejemplo con una función Lambda

Fun main (args: Array<String>)


{
//FUNCIÓN LAMBDA
val flambda : (Int) -> Unit={s: Int -> print("El resultado es = " + s)}
suma(10,12,flambda)
}

Fun suma (a: Int, b: Int, flambda : (Int) -> Unit)


{
val sum = a + b
flambda(sum)
}

KOTLIN página 17
FUNCIÓN INLINE
Friday, November 6, 2020 9:37 AM

Las funciones en línea no soportan:


• Declaración de clases locales.
• Declaración de función local.
• Valor por default para parámetros opcionales.
• Expresiones de funciones.
• Declaración de clases anidadas.

Ejemplo básico de una función en línea:


Fun main (args: Array<String>)
{
inlineFunction({
println("Llamando a funciones en línea")})
}

inline fun inlinefunction(myFun: () -> Unit)


{
myFun()
println("Código dentro de una función en línea")
}

Ejemplo básico de una control de flujo no local:


Fun main (args: Array<String>)
{
inlineFunction(
{ println("Llamando a funciones en línea") return},
{ println("Parámetro siguiente (next) en una función en línea")}
)
}

inline fun inlinefunction(myFun: () -> Unit, nextFun: () -> Unit)


{
myFun()
nextFun()
println("Código dentro de una función en línea")
}

KOTLIN página 18

También podría gustarte