En aquest tema, aprendrem sobre les operacions bàsiques i les expressions en Scala. Aquestes són les bases per a qualsevol programació, ja que ens permeten manipular dades i prendre decisions dins del nostre codi.
Continguts
- Operadors aritmètics
- Operadors de comparació
- Operadors lògics
- Expressions i blocs de codi
- Exercicis pràctics
- Operadors Aritmètics
Els operadors aritmètics són utilitzats per realitzar operacions matemàtiques bàsiques. Aquests inclouen:
- Sumar (+): Afegeix dos valors.
- Restar (-): Resta un valor d'un altre.
- Multiplicar (*): Multiplica dos valors.
- Dividir (/): Divideix un valor per un altre.
- Mòdul (%): Retorna el residu de la divisió de dos valors.
Exemple de Codi
val a = 10 val b = 3 val suma = a + b // 13 val resta = a - b // 7 val multiplicacio = a * b // 30 val divisio = a / b // 3 val modul = a % b // 1 println(s"Suma: $suma, Resta: $resta, Multiplicació: $multiplicacio, Divisió: $divisio, Mòdul: $modul")
- Operadors de Comparació
Els operadors de comparació són utilitzats per comparar dos valors. Aquests inclouen:
- Igual a (==): Comprova si dos valors són iguals.
- No igual a (!=): Comprova si dos valors no són iguals.
- Major que (>): Comprova si un valor és major que un altre.
- Menor que (<): Comprova si un valor és menor que un altre.
- Major o igual que (>=): Comprova si un valor és major o igual que un altre.
- Menor o igual que (<=): Comprova si un valor és menor o igual que un altre.
Exemple de Codi
val x = 5 val y = 10 val igual = x == y // false val noIgual = x != y // true val major = x > y // false val menor = x < y // true val majorIgual = x >= y // false val menorIgual = x <= y // true println(s"Igual: $igual, No igual: $noIgual, Major: $major, Menor: $menor, Major o igual: $majorIgual, Menor o igual: $menorIgual")
- Operadors Lògics
Els operadors lògics són utilitzats per combinar expressions booleanes. Aquests inclouen:
- AND (&&): Retorna
true
si ambdues expressions sóntrue
. - OR (||): Retorna
true
si almenys una de les expressions éstrue
. - NOT (!): Inverteix el valor de l'expressió booleana.
Exemple de Codi
val p = true val q = false val and = p && q // false val or = p || q // true val not = !p // false println(s"AND: $and, OR: $or, NOT: $not")
- Expressions i Blocs de Codi
Una expressió en Scala és qualsevol construcció que retorna un valor. Un bloc de codi és una seqüència d'expressions envoltades per claus {}
. El valor del bloc és el valor de l'última expressió.
Exemple de Codi
val resultat = { val a = 10 val b = 20 a + b // L'última expressió determina el valor del bloc } println(s"Resultat del bloc: $resultat") // 30
- Exercicis Pràctics
Exercici 1
Escriu un programa que calculi la suma, resta, multiplicació, divisió i mòdul de dos nombres donats per l'usuari.
Solució
import scala.io.StdIn._ println("Introdueix el primer nombre:") val num1 = readInt() println("Introdueix el segon nombre:") val num2 = readInt() val suma = num1 + num2 val resta = num1 - num2 val multiplicacio = num1 * num2 val divisio = num1 / num2 val modul = num1 % num2 println(s"Suma: $suma, Resta: $resta, Multiplicació: $multiplicacio, Divisió: $divisio, Mòdul: $modul")
Exercici 2
Escriu un programa que compari dos nombres donats per l'usuari i imprimeixi si són iguals, no iguals, quin és major i quin és menor.
Solució
import scala.io.StdIn._ println("Introdueix el primer nombre:") val num1 = readInt() println("Introdueix el segon nombre:") val num2 = readInt() val igual = num1 == num2 val noIgual = num1 != num2 val major = num1 > num2 val menor = num1 < num2 println(s"Igual: $igual, No igual: $noIgual, Major: $major, Menor: $menor")
Exercici 3
Escriu un programa que utilitzi operadors lògics per determinar si un nombre donat per l'usuari és positiu i parell.
Solució
import scala.io.StdIn._ println("Introdueix un nombre:") val num = readInt() val esPositiu = num > 0 val esParell = num % 2 == 0 val resultat = esPositiu && esParell println(s"El nombre és positiu i parell: $resultat")
Conclusió
En aquesta secció, hem après sobre els operadors aritmètics, de comparació i lògics en Scala, així com sobre les expressions i blocs de codi. Aquests conceptes són fonamentals per a la programació i ens permeten manipular dades i prendre decisions dins del nostre codi. A la següent secció, explorarem les estructures de control, com les declaracions condicionals i els bucles.
Curs de Programació en Scala
Mòdul 1: Introducció a Scala
- Introducció a Scala
- Configuració de l'Entorn de Desenvolupament
- Conceptes Bàsics de Scala: Sintaxi i Estructura
- Variables i Tipus de Dades
- Operacions Bàsiques i Expressions
Mòdul 2: Estructures de Control i Funcions
- Declaracions Condicionals
- Bucles i Iteracions
- Funcions i Mètodes
- Funcions d'Ordre Superior
- Funcions Anònimes
Mòdul 3: Col·leccions i Estructures de Dades
- Introducció a les Col·leccions
- Llistes i Arrays
- Conjunts i Mapes
- Tuples i Options
- Coincidència de Patrons
Mòdul 4: Programació Orientada a Objectes en Scala
- Classes i Objectes
- Herència i Traits
- Classes Abstractes i Classes Case
- Objectes Companys
- Objectes Singleton
Mòdul 5: Programació Funcional en Scala
- Immutabilitat i Funcions Pures
- Estructures de Dades Funcionals
- Monads i Functors
- For-Comprehensions
- Gestió d'Errors en la Programació Funcional
Mòdul 6: Conceptes Avançats de Scala
- Conversions i Paràmetres Implícits
- Classes de Tipus i Polimorfisme
- Macros i Reflexió
- Concurrència en Scala
- Introducció a Akka