Les sentències de flux de control són fonamentals en qualsevol llenguatge de programació, ja que permeten que el codi prengui decisions i repeteixi accions. En aquest tema, explorarem les diferents sentències de flux de control disponibles en Dart, el llenguatge de programació utilitzat per Flutter.
Contingut
- Condicionals
- if
- if-else
- if-else if-else
- Operador ternari
- switch-case
- Bucles
- for
- for-in
- while
- do-while
- Control de Flux amb Break i Continue
- Exercicis Pràctics
- Conclusió
Condicionals
if
La sentència if s'utilitza per executar un bloc de codi si una condició és certa.
if-else
La sentència if-else permet executar un bloc de codi si la condició és certa i un altre bloc si la condició és falsa.
void main() {
int x = 3;
if (x > 5) {
print('x és més gran que 5');
} else {
print('x no és més gran que 5');
}
}if-else if-else
La sentència if-else if-else permet comprovar múltiples condicions.
void main() {
int x = 7;
if (x > 10) {
print('x és més gran que 10');
} else if (x > 5) {
print('x és més gran que 5 però no més gran que 10');
} else {
print('x no és més gran que 5');
}
}Operador ternari
L'operador ternari és una forma concisa d'escriure una sentència if-else.
void main() {
int x = 8;
String resultat = x > 5 ? 'x és més gran que 5' : 'x no és més gran que 5';
print(resultat);
}switch-case
La sentència switch-case s'utilitza per seleccionar una de moltes opcions basades en el valor d'una expressió.
void main() {
int dia = 3;
switch (dia) {
case 1:
print('Dilluns');
break;
case 2:
print('Dimarts');
break;
case 3:
print('Dimecres');
break;
default:
print('Dia no vàlid');
}
}Bucles
for
El bucle for s'utilitza per repetir un bloc de codi un nombre determinat de vegades.
for-in
El bucle for-in s'utilitza per iterar sobre elements d'una col·lecció.
void main() {
List<String> fruits = ['Poma', 'Plàtan', 'Taronja'];
for (String fruit in fruits) {
print(fruit);
}
}while
El bucle while repeteix un bloc de codi mentre una condició sigui certa.
do-while
El bucle do-while és similar al while, però garanteix que el bloc de codi s'executi almenys una vegada.
Control de Flux amb Break i Continue
break
La sentència break s'utilitza per sortir d'un bucle abans que aquest acabi.
continue
La sentència continue s'utilitza per saltar a la següent iteració del bucle.
Exercicis Pràctics
Exercici 1
Escriu un programa que imprimeixi els nombres del 1 al 10, però que salti el nombre 5.
Exercici 2
Escriu un programa que comprovi si un nombre és positiu, negatiu o zero i imprimeixi un missatge adequat.
void main() {
int num = -3;
if (num > 0) {
print('El nombre és positiu');
} else if (num < 0) {
print('El nombre és negatiu');
} else {
print('El nombre és zero');
}
}Exercici 3
Escriu un programa que utilitzi un bucle while per sumar els nombres del 1 al 100.
void main() {
int sum = 0;
int i = 1;
while (i <= 100) {
sum += i;
i++;
}
print('La suma dels nombres del 1 al 100 és $sum');
}Conclusió
En aquesta secció, hem après sobre les diferents sentències de flux de control en Dart, incloent condicionals i bucles. Aquestes eines són essencials per escriure codi que pugui prendre decisions i repetir accions de manera eficient. Practicar amb aquests conceptes et permetrà escriure programes més complexos i dinàmics. En la següent secció, explorarem les funcions i mètodes en Dart, que ens permetran organitzar i reutilitzar el codi de manera més eficient.
Curs de Desenvolupament Flutter
Mòdul 1: Introducció a Flutter
- Què és Flutter?
- Configuració de l'Entorn de Desenvolupament
- Comprensió de l'Arquitectura de Flutter
- Creació de la Teva Primera Aplicació Flutter
Mòdul 2: Conceptes Bàsics de Programació en Dart
- Introducció a Dart
- Variables i Tipus de Dades
- Sentències de Flux de Control
- Funcions i Mètodes
- Programació Orientada a Objectes en Dart
Mòdul 3: Widgets de Flutter
- Introducció als Widgets
- Widgets Stateless vs Stateful
- Widgets Bàsics
- Widgets de Disseny
- Widgets d'Entrada i Formulari
Mòdul 4: Gestió de l'Estat
Mòdul 5: Navegació i Enrutament
- Introducció a la Navegació
- Navegació Bàsica
- Rutes Nomenades
- Passar Dades Entre Pantalles
- Deep Linking
Mòdul 6: Xarxes i APIs
- Obtenir Dades d'Internet
- Analitzar Dades JSON
- Gestió d'Errors de Xarxa
- Ús d'APIs REST
- Integració de GraphQL
Mòdul 7: Persistència i Emmagatzematge
- Introducció a la Persistència
- Preferències Compartides
- Emmagatzematge de Fitxers
- Base de Dades SQLite
- Ús de Hive per a l'Emmagatzematge Local
Mòdul 8: Conceptes Avançats de Flutter
- Animacions en Flutter
- Pintura Personalitzada i Canvas
- Canals de Plataforma
- Isolates i Concurrència
- Optimització del Rendiment
Mòdul 9: Proves i Depuració
- Introducció a les Proves
- Proves Unitàries
- Proves de Widgets
- Proves d'Integració
- Tècniques de Depuració
Mòdul 10: Desplegament i Manteniment
- Preparació per al Llançament
- Construcció per a iOS
- Construcció per a Android
- Integració i Desplegament Continu (CI/CD)
- Manteniment i Actualització de la Teva Aplicació
