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
print
viene 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.