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ó