Les declaracions condicionals són una part fonamental de qualsevol llenguatge de programació, ja que permeten que el codi prengui decisions basades en certes condicions. En Scala, les declaracions condicionals es poden implementar utilitzant if, else if i else.

  1. Sintaxi Bàsica

La sintaxi bàsica d'una declaració condicional en Scala és similar a la d'altres llenguatges de programació com Java o C++.

if (condició) {
  // codi a executar si la condició és certa
} else if (altraCondició) {
  // codi a executar si l'altra condició és certa
} else {
  // codi a executar si cap de les condicions anteriors és certa
}

Exemple

val x = 10

if (x > 0) {
  println("x és positiu")
} else if (x < 0) {
  println("x és negatiu")
} else {
  println("x és zero")
}

  1. Declaracions Condicionals com Expressions

En Scala, les declaracions condicionals poden ser utilitzades com expressions, el que significa que poden retornar un valor. Això és diferent de molts altres llenguatges de programació on les declaracions condicionals són només instruccions.

Exemple

val x = 10
val resultat = if (x > 0) "positiu" else "no positiu"
println(resultat) // Imprimeix "positiu"

  1. Declaracions Condicionals Niuades

Les declaracions condicionals poden ser niuades, és a dir, una declaració condicional pot estar dins d'una altra.

Exemple

val x = 10
val y = 5

if (x > 0) {
  if (y > 0) {
    println("x i y són positius")
  } else {
    println("x és positiu però y no ho és")
  }
} else {
  println("x no és positiu")
}

  1. Operador Ternari

Scala no té un operador ternari com en altres llenguatges (condició ? valor1 : valor2). En lloc d'això, es poden utilitzar les expressions if-else per aconseguir el mateix resultat.

Exemple

val x = 10
val resultat = if (x > 0) "positiu" else "no positiu"
println(resultat) // Imprimeix "positiu"

Exercicis Pràctics

Exercici 1

Escriu un programa que llegeixi un nombre enter i imprimeixi si és parell o senar.

Solució

val nombre = 4

if (nombre % 2 == 0) {
  println(s"$nombre és parell")
} else {
  println(s"$nombre és senar")
}

Exercici 2

Escriu un programa que llegeixi tres nombres enters i imprimeixi el més gran.

Solució

val a = 10
val b = 20
val c = 30

val major = if (a > b && a > c) {
  a
} else if (b > a && b > c) {
  b
} else {
  c
}

println(s"El nombre més gran és $major")

Errors Comuns

  1. Oblidar les claus {}: En Scala, les claus són opcionals si només hi ha una instrucció després de la condició. No obstant això, és una bona pràctica utilitzar-les per evitar errors.

    if (x > 0)
      println("x és positiu")
    else
      println("x no és positiu")
    
  2. Confondre l'assignació amb la comparació: Assegura't d'utilitzar == per comparar valors i = per assignar valors.

    if (x == 10) { // Correcte
      // codi
    }
    
    if (x = 10) { // Incorrecte
      // codi
    }
    

Conclusió

Les declaracions condicionals són una eina poderosa per controlar el flux del programa basat en condicions. En Scala, aquestes declaracions poden ser utilitzades tant com instruccions com expressions, oferint una gran flexibilitat. Practicar amb diferents exemples i exercicis ajudarà a consolidar aquests conceptes i a utilitzar-los de manera efectiva en els teus programes.

© Copyright 2024. Tots els drets reservats