En aquest tema, aprendrem sobre les variables i els tipus de dades en Scala. Aquest és un concepte fonamental que necessitem dominar per poder escriure programes efectius i eficients en Scala.

Continguts

Declaració de Variables

En Scala, podem declarar variables utilitzant les paraules clau val i var.

  • val: Declara una variable immutable (no es pot canviar després de la seva inicialització).
  • var: Declara una variable mutable (es pot canviar després de la seva inicialització).

Exemple:

val immutableVariable: Int = 10
var mutableVariable: Int = 20

// immutableVariable = 15 // Això donarà un error perquè immutableVariable és immutable
mutableVariable = 25 // Això és correcte perquè mutableVariable és mutable

Tipus de Dades Bàsics

Scala proporciona diversos tipus de dades bàsics que podem utilitzar per emmagatzemar diferents tipus d'informació.

Tipus de Dades Numèrics

Tipus Descripció Exemple
Int Enter de 32 bits val x: Int = 10
Long Enter de 64 bits val y: Long = 100L
Float Número de coma flotant de 32 bits val z: Float = 10.5f
Double Número de coma flotant de 64 bits val w: Double = 20.5

Tipus de Dades de Caràcter i Cadena

Tipus Descripció Exemple
Char Caràcter únic val c: Char = 'A'
String Seqüència de caràcters val s: String = "Hola"

Tipus de Dades Booleans

Tipus Descripció Exemple
Boolean Valor de veritat (true o false) val b: Boolean = true

Exemple:

val age: Int = 25
val pi: Double = 3.14159
val initial: Char = 'A'
val greeting: String = "Hola, Scala!"
val isScalaFun: Boolean = true

Tipus de Dades Complexos

A més dels tipus de dades bàsics, Scala també proporciona tipus de dades més complexos com les tuples, les opcions, i les col·leccions (que veurem en detall en mòduls posteriors).

Tuples

Les tuples permeten agrupar múltiples valors de diferents tipus en una sola unitat.

val person: (String, Int) = ("John", 30)
val (name, age) = person
println(s"Nom: $name, Edat: $age")

Options

Les opcions s'utilitzen per representar valors que poden o no estar presents.

val someValue: Option[Int] = Some(5)
val noValue: Option[Int] = None

someValue match {
  case Some(v) => println(s"Valor: $v")
  case None => println("No hi ha valor")
}

Conversió de Tipus

En Scala, podem convertir un tipus de dada a un altre utilitzant mètodes de conversió.

Exemple:

val x: Int = 10
val y: Double = x.toDouble
val z: String = x.toString

println(s"Int: $x, Double: $y, String: $z")

Exercicis Pràctics

Exercici 1

Declara una variable immutable val anomenada myAge de tipus Int i assigna-li el valor de la teva edat. Després, intenta canviar el valor de myAge i observa què passa.

Solució:

val myAge: Int = 25
// myAge = 26 // Això donarà un error perquè myAge és immutable

Exercici 2

Declara una variable mutable var anomenada temperature de tipus Double i assigna-li un valor inicial. Després, canvia el valor de temperature a un altre valor.

Solució:

var temperature: Double = 36.6
temperature = 37.0

Exercici 3

Crea una tupla que contingui el teu nom (String) i la teva edat (Int). Després, imprimeix els valors de la tupla.

Solució:

val person: (String, Int) = ("Joan", 25)
val (name, age) = person
println(s"Nom: $name, Edat: $age")

Exercici 4

Declara una variable val anomenada maybeValue de tipus Option[Int] i assigna-li el valor Some(10). Després, utilitza una coincidència de patrons per imprimir el valor si està present, o un missatge si no ho està.

Solució:

val maybeValue: Option[Int] = Some(10)

maybeValue match {
  case Some(v) => println(s"Valor: $v")
  case None => println("No hi ha valor")
}

Conclusió

En aquest tema, hem après sobre les variables i els tipus de dades en Scala. Hem vist com declarar variables immutables i mutables, els diferents tipus de dades bàsics i complexos, i com convertir tipus de dades. També hem practicat aquests conceptes amb alguns exercicis pràctics. Ara estem preparats per avançar cap a les estructures de control i funcions en Scala.

© Copyright 2024. Tots els drets reservats