En aquest tema, aprendrem com controlar el flux d'execució del nostre programa utilitzant estructures condicionals i bucles en Kotlin. Aquestes eines són fonamentals per a la programació, ja que ens permeten prendre decisions i repetir accions de manera eficient.

  1. Condicionals

1.1. if i else

L'estructura if s'utilitza per executar un bloc de codi si una condició és certa. L'estructura else s'utilitza per executar un bloc de codi alternatiu si la condició no és certa.

fun main() {
    val x = 10
    if (x > 5) {
        println("x és més gran que 5")
    } else {
        println("x no és més gran que 5")
    }
}

1.2. else if

Podem utilitzar else if per comprovar múltiples condicions.

fun main() {
    val x = 10
    if (x > 15) {
        println("x és més gran que 15")
    } else if (x > 5) {
        println("x és més gran que 5 però menor o igual a 15")
    } else {
        println("x és menor o igual a 5")
    }
}

1.3. Expressió if

En Kotlin, if és una expressió, la qual cosa significa que pot retornar un valor.

fun main() {
    val x = 10
    val result = if (x > 5) "Gran" else "Petit"
    println(result) // Imprimeix "Gran"
}

  1. Quan (When)

L'expressió when és una alternativa més poderosa a if-else if-else.

fun main() {
    val x = 2
    when (x) {
        1 -> println("x és 1")
        2 -> println("x és 2")
        3 -> println("x és 3")
        else -> println("x no és 1, 2 o 3")
    }
}

2.1. when com a expressió

Igual que if, when també pot retornar un valor.

fun main() {
    val x = 2
    val result = when (x) {
        1 -> "Un"
        2 -> "Dos"
        3 -> "Tres"
        else -> "Altres"
    }
    println(result) // Imprimeix "Dos"
}

  1. Bucles

3.1. for

El bucle for s'utilitza per iterar sobre una col·lecció o un rang.

fun main() {
    val items = listOf("poma", "plàtan", "cirera")
    for (item in items) {
        println(item)
    }
}

3.2. for amb rangs

Podem utilitzar rangs per iterar sobre una seqüència de números.

fun main() {
    for (i in 1..5) {
        println(i)
    }
}

3.3. while i do-while

El bucle while repeteix un bloc de codi mentre una condició és certa.

fun main() {
    var x = 5
    while (x > 0) {
        println(x)
        x--
    }
}

El bucle do-while és similar a while, però garanteix que el bloc de codi s'executi almenys una vegada.

fun main() {
    var x = 5
    do {
        println(x)
        x--
    } while (x > 0)
}

Exercicis Pràctics

Exercici 1: Condicionals

Escriu una funció que prengui un nombre enter i retorni "Positiu" si el nombre és més gran que zero, "Negatiu" si és menor que zero, i "Zero" si és igual a zero.

fun determinarSigno(num: Int): String {
    return if (num > 0) {
        "Positiu"
    } else if (num < 0) {
        "Negatiu"
    } else {
        "Zero"
    }
}

Exercici 2: when

Escriu una funció que prengui una lletra i retorni si és una vocal o una consonant.

fun determinarLletra(lletra: Char): String {
    return when (lletra) {
        'a', 'e', 'i', 'o', 'u' -> "Vocal"
        else -> "Consonant"
    }
}

Exercici 3: Bucles

Escriu una funció que imprimeixi els nombres parells de l'1 al 10.

fun imprimirParells() {
    for (i in 1..10) {
        if (i % 2 == 0) {
            println(i)
        }
    }
}

Resum

En aquesta secció, hem après com utilitzar estructures condicionals (if, else if, else, when) i bucles (for, while, do-while) per controlar el flux d'execució dels nostres programes en Kotlin. Aquestes eines són essencials per a la programació i ens permeten crear aplicacions més dinàmiques i flexibles. A la següent secció, explorarem les funcions i les lambdas en Kotlin.

© Copyright 2024. Tots els drets reservats