1. Funciones
fun main(args: Array<String>) {
showMyName()
}
fun showMyName(){
println("Me llamo Javi")
}
Funciones con parámetros de entrada
fun main(args: Array<String>) {
showMyInformation("Javi", "Profe", 55)
}
fun showMyInformation(name: String, prof: String, age: Int){
println("Me llamo $name soy $prof y tengo $age años.")
}
Funciones con parámetros de entrada por defecto
fun main() {
muestra()
}
fun muestra(nombre:String = "SIN NOMBRE"){
println(nombre)
}
Funciones con parámetros de salida
fun main(args: Array<String>) {
var result = add(5, 10)
println(result)
}
fun add(a: Int, b: Int) : Int{
return a + b
}
2. Arrays
val weekDays = arrayOf("Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado", "Domingo")
val numeros: Array<Int> = arrayOf(1, 2, 3, 4, 5)
println(weekDays.get(0))
if(weekDays.size >= 8){
println(weekDays.get(7))
}else{
println("no tiene más parámetros el array")
}
weekDays.set(0, "Horrible lunes") //Contenía Lunes
val primerNumero = numeros[0]
println("El primer número es: $primerNumero")
Recorriendo Arrays
val weekDays = arrayOf("Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado", "Domingo")
for (posicion in weekDays.indices){
println(weekDays.get(posicion))
}
for ((posicion, valor) in weekDays.withIndex()) {
println("La posición $posicion contiene el valor $valor")
}
for (weekDay in weekDays) {
println(weekDay)
}
3. Bucles For
// Iteración ascendente
for (i in 1..5) {
println(i)
}
// Iteración descendente
for (i in 5 downTo 1) {
println(i)
}
// Iteración con incremento
for (i in 0 until 10 step 2) {
println(i)
}
// Iteración con decremento
for (i in 10 downTo 0 step 2) {
println(i)
}
Iterando un colección
val lista = arrayOf("a", "b", "c")
for (elemento in lista) {
println(elemento)
}
for ((indice, elemento) in lista.withIndex()) {
println("Elemento en el índice $indice: $elemento")
}
var recibos: Array<String> = arrayOf("luz","agua","gas")
recibos.set(0,"telefono")
recorrer_array(recibos)
}
fun recorrer_array(a:Array<String>){
for (i in a)
println(i);
}
fun recorrer_array(a:Array<String>){
for (i in a.indices)
println(a.get(i))
}
fun recorrer_array(a:Array<String>){
for (i in 0..a.size-1)
println("El recibo ${i+1} es el ${a.get(i)}")
}
fun recorrer_array(a:Array<String>){
for (i in 0 until a.size)
println("El recibo ${i+1} es el ${a.get(i)}")
}
Recorriendo una matriz
var matriz = arrayOf(
intArrayOf(1,2,3),
intArrayOf(4,5,6,66),
intArrayOf(7,8,9,10,11),
intArrayOf(20,21)
)
for (i in 0 until matriz.size step 1) {
for (j in 0 until matriz[i].size step 1)
println(matriz[i][j])
println("----")
}
for (h in (0 until matriz.size)) {
for (x in (0 until matriz[h].size))
println("Posición [$h][$x] es ${matriz[h][x]}")
println("**")
}
4. Set inmutable
val numeros: Set<Int> = setOf(1, 2, 3, 4, 5, 1, 2)
println(numeros) // Imprime: [1, 2, 3, 4, 5]
println(numeros.size) //Imprime: 5
// Verificar si un elemento está presente en el set
val contieneTres = numeros.contains(3)
println(contieneTres) // Imprime: true
// Agregar elementos a un set
val nuevosNumeros = numeros.plus(6)
println(nuevosNumeros) // Imprime: [1, 2, 3, 4, 5, 6]
// Eliminar elementos de un set
val numerosSinDos = numeros.minus(2)
println(numerosSinDos) // Imprime: [1, 3, 4, 5]
// Operaciones entre sets
val otrosNumeros = setOf(4, 5, 6, 7, 8)
val union = numeros.union(otrosNumeros)
println(union) // Imprime: [1, 2, 3, 4, 5, 6, 7, 8]
val interseccion = numeros.intersect(otrosNumeros)
println(interseccion) // Imprime: [4, 5]
val diferencia = numeros.subtract(otrosNumeros)
println(diferencia) // Imprime: [1, 2, 3]
5. Set mutables
val numeros: MutableSet<Int> = mutableSetOf(1, 2, 3, 4, 5)
println(numeros) // Imprime: [1, 2, 3, 4, 5]
println(numeros.size) //Imprime: 5
// Agregar un elemento al set
numeros.add(6)
println(numeros) // Imprime: [1, 2, 3, 4, 5, 6]
// Eliminar un elemento del set
numeros.remove(2)
println(numeros) // Imprime: [1, 3, 4, 5, 6]
// Verificar si un elemento está presente en el set
val contieneTres = numeros.contains(3)
println(contieneTres) // Imprime: true
// Iterar sobre los elementos del set
for (numero in numeros) {
println(numero)
}
// Borrar todos los elementos del set
numeros.clear()
println(numeros) // Imprime: []
6. List inmutables
val numeros: List<Int> = listOf(1, 2, 3, 4, 5)
println(numeros) // Imprime: [1, 2, 3, 4, 5]
// Acceder a un elemento de la lista
val primerNumero = numeros[0]
println(primerNumero) // Imprime: 1
// Iterar sobre los elementos de la lista
for (numero in numeros) {
println(numero)
}
val readOnly: List<String> = listOf("Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado", "Domingo")
readOnly.size //Muestra el tamaño de la lista
readOnly.get(3) //Devuelve el valor de la posición 3
readOnly.first() //Devuelve el primer valor
readOnly.last() //Devuelve el último valor
println(readOnly) //[Lunes, Martes, Miércoles, Jueves, Viernes, Sábado, Domingo]
val a = readOnly.filter { it == "Lunes" || it == "Juernes" }
fun main() {
val readOnly: List<String> = listOf("Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado", "Domingo")
val a=readOnly.filter { it.contains('a') }
println(a)
}
fun main() {
val readOnly: List<String> = listOf("Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado", "Domingo")
readOnly.forEach { println(it) }
readOnly.forEach { dias -> println(dias) }
}
7. List mutables
val numeros: MutableList<Int> = mutableListOf(1, 2, 3, 4, 5)
println(numeros) // Imprime: [1, 2, 3, 4, 5]
// Agregar elementos a la lista
numeros.add(6)
println(numeros) // Imprime: [1, 2, 3, 4, 5, 6]
// Eliminar elementos de la lista
numeros.removeAt(2)
println(numeros) // Imprime: [1, 2, 4, 5, 6]
// Modificar un elemento de la lista
numeros[3] = 7
println(numeros) // Imprime: [1, 2, 4, 7, 6]
// Iterar sobre los elementos de la lista
for (numero in numeros) {
println(numero)
}
var mutableList: MutableList<String> = mutableListOf()
mutableList.none() //Nos devuelve un true si está vacía la lista
mutableList.firstOrNull() //Nos devolverá el primer campo, y si no hay, un null.
mutableList.elementAtOrNull(2) //El elemento del índice 2, si no hay, devolverá un null
mutableList.lastOrNull() //Último valor de la lista o null
mutableList.last() //Último valor de la lista
fun main() {
val dias:MutableList<String> = mutableListOf("Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado", "Domingo")
dias.add("Otro dia")
dias.add(1, "Nuevo dia")
dias.forEach { println(it) }
}
fun main() {
val dias:MutableList<String> = mutableListOf()
if (dias.isEmpty())
println("no hay nada")
else
dias.forEach { println(it) }
if (dias.isNotEmpty())
dias.forEach { println(it) }
}
8. Map inmutable y mutable
var mapa: Map<Int,String> = mapOf(
1 to "España",
2 to "Mexico",
3 to "Colombia"
)
println(mapa) //{1=España, 2=Mexico, 3=Colombia}
println(mapa[2]) //Mexico
val capitales: MutableMap<String, String> = mutableMapOf(
"España" to "Madrid",
"Francia" to "París",
"Italia" to "Roma",
"Alemania" to "Berlín"
)
println(capitales) // Imprime: {España=Madrid, Francia=París, Italia=Roma, Alemania=Berlín}
// Agregar un nuevo par clave-valor
capitales["Inglaterra"] = "Londres"
println(capitales) // Imprime: {España=Madrid, Francia=París, Italia=Roma, Alemania=Berlín, Inglaterra=Londres}
// Modificar el valor de una clave existente
capitales["Italia"] = "Florencia"
println(capitales) // Imprime: {España=Madrid, Francia=París, Italia=Florencia, Alemania=Berlín, Inglaterra=Londres}
// Eliminar un par clave-valor
capitales.remove("Francia")
println(capitales) // Imprime: {España=Madrid, Italia=Florencia, Alemania=Berlín, Inglaterra=Londres}
// Iterar sobre los pares clave-valor del MutableMap
for ((pais, capital) in capitales) {
println("La capital de $pais es $capital")
}