Le basi di Dart: Una guida introduttiva per principianti - Capitolo 1 + Esercizi
In questa corso, esploreremo le basi di Dart, affrontando concetti chiave e fornendo esercizi pratici per rafforzare le conoscenze fino a diventare dei veri esperti!
Dart è un linguaggio di programmazione moderno, flessibile e versatile, sviluppato da Google, utilizzato principalmente per lo sviluppo di applicazioni Flutter.
In questa corso, esploreremo i concetti chiave del linguaggio, fornendo esercizi pratici per rafforzare le conoscenze fino a diventare dei veri esperti!
The main method
Il metodo main è il punto di ingresso di un’applicazione Dart.
Ogni programma Dart inizia la sua esecuzione da qui.
void main() { print("Benvenuto in Dart!"); }
Cosa fa?
-
Il metodo
mainè definito con la parola chiavevoid, indicando che non restituisce alcun valore. -
Il comando
printviene utilizzato per visualizzare un messaggio in console.
Hello World
Il classico primo passo per imparare un linguaggio di programmazione è creare un programma che stampi “Hello World!”.
void main() { print("Hello, World!"); }
Prova a eseguirlo! Vedrai il messaggio “Hello, World!” apparire nella console.
Variable declaration and Initialization
In Dart, puoi dichiarare variabili usando le parole chiave var, final, o const.
void main() { var nome = "Mario"; final eta = 25; const pi = 3.14; print("Nome: $nome"); print("Età: $eta"); print("Pi Greco: $pi"); }
-
var: Variabile modificabile. -
final: Non può essere riassegnata, ma il valore può essere calcolato a runtime. -
const: Valore immutabile e determinato a compile-time.
Basic types
Dart supporta i tipi di dati fondamentali, tra cui:
-
int: Numeri interi (
int numero = 10;) -
double: Numeri decimali (
double prezzo = 9.99;) -
bool: Valori booleani (
bool isTrue = true;) -
String: Testo (
String messaggio = "Ciao!";)
(Esercizio) Printing variables
Scrivi un programma che dichiari variabili per il tuo nome, età e città, e stampi queste informazioni in console.
String concatenation & Interpolation
Puoi unire stringhe usando l’operatore + o tramite interpolazione con $.
void main() { String nome = "Mario"; String saluto = "Ciao, " + nome + "!"; print(saluto); // Interpolazione print("Ciao, $nome!"); }
(Esercizio) String interpolation
Dichiara due variabili, nome e cognome, e utilizza l’interpolazione per stampare il messaggio “Il tuo nome completo è: [Nome Cognome]”.
String escaping
Per utilizzare caratteri speciali come virgolette o backslash, usa il carattere \.
void main() { print("Questa è una \"stringa\" con virgolette."); print("Percorso: C:\\Utenti\\Documenti"); }
Multi-line Strings
Puoi definire stringhe multi-linea usando tre apici singoli o doppi.
void main() { String descrizione = '''Questa è una stringa multi-linea.'''; print(descrizione); }
Basic string Operations
Puoi modificare una stringa con metodi come toUpperCase() e toLowerCase().
void main() { String nome = "Mario"; print(nome.toUpperCase()); // MARIO print(nome.toLowerCase()); // mario }
Initialization vs Assignment
L’inizializzazione avviene al momento della dichiarazione, mentre l’assegnazione può avvenire successivamente.
void main() { var nome; nome = "Mario"; // Assegnazione print(nome); }
(Esercizio) Lowercase and Uppercase strings
Chiedi all’utente di inserire una stringa e stampa la versione in maiuscolo e minuscolo.
Finding and Replacing strings
void main() { String frase = "Ciao, Mario!"; print(frase.replaceAll("Mario", "Luca")); // Ciao, Luca! }
Conversions between Types
Dart permette di convertire tipi di dati, ad esempio da String a int o viceversa.
void main() { String numero = "42"; int n = int.parse(numero); print(n + 8); // 50 }
Arithmetic Operations
Dart supporta operatori aritmetici come +, -, *, /.
void main() { int a = 10; int b = 5; print(a + b); // 15 }
(Esercizio) Temperature Conversion
Scrivi un programma che converta una temperatura da Celsius a Fahrenheit. Formula: (C * 9/5) + 32.
Increment & Decrement Operators
Gli operatori ++ e -- aumentano o diminuiscono di 1 il valore di una variabile.
void main() { int x = 5; x++; print(x); // 6 }
Logical & Relational Operators
Dart supporta operatori logici come &&, ||, e !, oltre agli operatori relazionali <, >, <=, >=, ==, !=.
void main() { print(5 > 3 && 2 < 4); // true }
Ternary Access Operator
L’operatore ternario semplifica espressioni condizionali.
void main() { int eta = 20; String messaggio = (eta >= 18) ? "Adulto" : "Minorenne"; print(messaggio); }
Hex Format, Bitwise & Shifting Operators
Dart supporta operazioni a livello di bit come AND (&), OR (|), XOR (^), e shift (<<, >>).
void main() { int x = 5; // 0101 in binario int y = 3; // 0011 in binario print(x & y); // 1 }
Commenti
I commenti migliorano la leggibilità del codice.
// Questo è un commento su una riga. /* Questo è un commento su più righe. */
Expressions & Statements
-
Expression: Un’unità di codice che restituisce un valore (es.
5 + 3). -
Statement: Un’istruzione completa che compie un’azione (es.
print(5 + 3);).
Dart è un linguaggio molto potente, ideale per lo sviluppo di app con Flutter.
Con queste basi, sei pronto per iniziare a esplorare il mondo della programmazione in Dart! 😊
Hai completato gli esercizi? prosegui con il prossimo capitolo.
Allora sei pronto per il Capitolo 2.
Se invece hai domande in merito, non esitare a contattarmi.