Le basi di Dart: Una guida introduttiva per principianti - Capitolo 1 + Esercizi
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.