Programmazione Dart - Operatori
Un'espressione è un tipo speciale di istruzione che restituisce un valore. Ogni espressione è composta da:
Operands - Rappresenta i dati
Operator - Definisce come verranno elaborati gli operandi per produrre un valore.
Considera la seguente espressione: "2 + 3". In questa espressione, 2 e 3 sonooperands e il simbolo "+" (più) è il operator.
In questo capitolo discuteremo gli operatori disponibili in Dart.
- Operatori aritmetici
- Uguaglianza e operatori relazionali
- Operatori di test di tipo
- Operatori bit per bit
- Operatori di assegnazione
- Operatori logici
Operatori aritmetici
La tabella seguente mostra gli operatori aritmetici supportati da Dart.
Suor n | Operatori e significato |
---|---|
1 | + Inserisci |
2 | − Sottrarre |
3 | -expr Meno unario, noto anche come negazione (inverte il segno dell'espressione) |
4 | * Moltiplicare |
5 | / Dividere |
6 | ~/ Dividi, restituendo un risultato intero |
7 | % Ottieni il resto di una divisione intera (modulo) |
8 | ++ Incremento |
9 | -- Decremento |
Uguaglianza e operatori relazionali
Gli operatori relazionali verificano o definiscono il tipo di relazione tra due entità. Gli operatori relazionali restituiscono un valore booleano, ovvero vero / falso.
Supponiamo che il valore di A sia 10 e B sia 20.
Operatore | Descrizione | Esempio |
---|---|---|
> | Più grande di | (A> B) è False |
< | Minore di | (A <B) è vero |
> = | Maggiore o uguale a | (A> = B) è False |
<= | Minore o uguale a | (A <= B) è vero |
== | Uguaglianza | (A == B) è False |
! = | Non uguale | (A! = B) è vero |
Operatori di test di tipo
Questi operatori sono utili per controllare i tipi in fase di esecuzione.
Operatore | Senso |
---|---|
è | Vero se l'oggetto ha il tipo specificato |
è! | Falso se l'oggetto ha il tipo specificato |
Operatori bit per bit
La tabella seguente elenca gli operatori bit per bit disponibili in Dart e il loro ruolo:
Operatore | Descrizione | Esempio |
---|---|---|
Bitwise AND | a & b | Restituisce uno in ciascuna posizione di bit per cui i bit corrispondenti di entrambi gli operandi sono uno. |
OR bit per bit | a | b | Restituisce uno in ciascuna posizione di bit per la quale i bit corrispondenti di uno o entrambi gli operandi sono uno. |
Bitwise XOR | a ^ b | Restituisce uno in ogni posizione di bit per cui i bit corrispondenti di uno ma non di entrambi gli operandi sono uno. |
Bitwise NON | ~ a | Inverte i bit del suo operando. |
Tasto maiuscolo di sinistra | a ≪ b | Sposta a nella rappresentazione binaria b (<32) bit a sinistra, spostandosi in zero da destra. |
Segno di propagazione del cambio a destra | a ≫ b | Sposta a nella rappresentazione binaria b (<32) bit a destra, scartando i bit spostati. |
Operatori di assegnazione
La tabella seguente elenca gli operatori di assegnazione disponibili in Dart.
Suor n | Operatore e descrizione |
---|---|
1 | =(Simple Assignment ) Assegna i valori dall'operando del lato destro all'operando del lato sinistro Ex: C = A + B assegnerà il valore di A + B a C |
2 | ??= Assegna il valore solo se la variabile è nulla |
3 | +=(Add and Assignment) Aggiunge l'operando destro all'operando sinistro e assegna il risultato all'operando sinistro. Ex: C + = A è equivalente a C = C + A |
4 | ─=(Subtract and Assignment) Sottrae l'operando destro dall'operando sinistro e assegna il risultato all'operando sinistro. Ex: C - = A è equivalente a C = C - A |
5 | *=(Multiply and Assignment) Moltiplica l'operando destro per l'operando sinistro e assegna il risultato all'operando sinistro. Ex: C * = A è equivalente a C = C * A |
6 | /=(Divide and Assignment) Divide l'operando sinistro con l'operando destro e assegna il risultato all'operando sinistro. |
Note - La stessa logica si applica agli operatori Bitwise, quindi diventeranno ≪ =, ≫ =, ≫ =, ≫ =, | = e ^ =.
Operatori logici
Gli operatori logici vengono utilizzati per combinare due o più condizioni. Gli operatori logici restituiscono un valore booleano. Supponiamo che il valore della variabile A sia 10 e B sia 20.
Operatore | Descrizione | Esempio |
---|---|---|
&& | And - L'operatore restituisce true solo se tutte le espressioni specificate restituiscono true |
(A> 10 && B> 10) è False. |
|| | OR - L'operatore restituisce true se almeno una delle espressioni specificate restituisce true |
(A> 10 || B> 10) è vero. |
! | NOT- L'operatore restituisce l'inverso del risultato dell'espressione. Ad esempio:! (7> 5) restituisce false |
! (A> 10) è vero. |
Espressioni condizionali
Dart ha due operatori che ti consentono di valutare espressioni che altrimenti potrebbero richiedere istruzioni ifelse:
condizione ? expr1: expr2
Se la condizione è vera, l'espressione valuta expr1(e restituisce il suo valore); in caso contrario, valuta e restituisce il valore diexpr2.
expr1 ?? expr2
Se expr1non è nullo, restituisce il suo valore; in caso contrario, valuta e restituisce il valore diexpr2
Esempio
L'esempio seguente mostra come utilizzare l'espressione condizionale in Dart:
void main() {
var a = 10;
var res = a > 12 ? "value greater than 10":"value lesser than or equal to 10";
print(res);
}
Produrrà il seguente output:
value lesser than or equal to 10
Esempio
Facciamo un altro esempio:
void main() {
var a = null;
var b = 12;
var res = a ?? b;
print(res);
}
Produrrà il seguente output:
12