Kotlin: operatori
Un operatore è un simbolo che specifica quale legge applicare a uno o più operandi, per generare un risultato. Kotlin ha diversi tipi di operatori che possono essere classificati in due grandi gruppi:
- operatori binari : si applicano tra una coppia di variabili.
- operatori unari : si applica ad una sola variabile.
Per maggiori informazioni visitate https://kotlinlang.org/docs/operator-overloading.html .
Operatori Binari
Gli operatori Binari (binary operators) sono operatori logici e matematici che agiscono su due operanti a e b.
Operatori Aritmetici
Gli operatori aritmetici sono utilizzati per effettuare le operazioni di base della matematica come la somma, la sottrazione, la moltiplicazione, eccetera. Nello specifico essi sono:
- + : somma o concatenazione di stringhe. Esempio di utilizzo: a + b
- – : sottrazione. Esempio di utilizzo: a – b
- * : moltiplicazione. Esempio di utilizzo: a * b
- / : divisione. Esempio di utilizzo: a / b
- % : resto della divisione (operatore modulo). Esempio di utilizzo: a % b
- .. : range, definito come la collezione di tutti gli oggetti compresi tra a e b. Esempio di utilizzo: a..b
- in : controlla che un oggetto appartenga ad una collezione. Esempio di utilizzo a in b
- !in : controlla che un oggetto non appartenga ad una collezione. Esempio di utilizzo a !in b
Esistono anche funzioni specifiche in Kotlin, associate agli operatori aritmetici. Ad esempio dati due numeri, l’operazione a+b può essere ottenuta anche come a.plus(b).
Operatori Logici
Gli operatori logici sono utilizzati per effettuare le operazioni logiche di base come l’AND o l’OR. Nello specifico essi sono:
- &&: operazione logica AND. Esempio di utilizzo: a && b
- ||: operazione logica OR. Esempio di utilizzo: a || b
Operatori Relazionali
Gli operatori relazionali (relational operators) sono utilizzati per stabilire delle relazioni tra due entità. Queste includono eguaglianze e disuguaglianze. Nello specifico essi sono:
- > : strettamente maggiore. Nel caso di Char e String si confronta l’ordinamento dei caratteri ASCII (‘b’ > ‘a’). Nel caso dei booleani true > false. Esempio di utilizzo: a > b
- < : strettamente minore. Nel caso di Char e String si confronta l’ordinamento dei caratteri ASCII (‘a’ < ‘b’). Nel caso dei booleani false < true. Esempio di utilizzo a < b
- >= : maggiore o uguale. Si applica negli stessi casi dell’operatore > includendo l’uguaglianza. Esempio di utilizzo a >= b
- <= : minore o uguale. Si applica negli stessi casi dell’operatore < includendo l’uguaglianza. Esempio di utilizzo a <= b
- == : uguale. Ritorna vero se le due variabili hanno lo stesso valore, non necessariamente la stessa referenza. Esempio di utilizzo a == b
- != : diverso. Ritorna vero se le due variabili differiscono nel loro valore. Esempio di utilizzo a != b
Operatori di Assegnazione
Gli operatori di assegnazione (assignament operators) sono utilizzare per assegnare un valore ad una variabile a, partendo dal valore di un’altra variabile b. Le assegnazioni vengono valutate da destra a sinistra. Nello specifico essi sono:
- = : assegna il valore della variabile b ad a. Esempio di utilizzo a = b
- += : aggiunge il valore della variabile b ad a e assegna a quest’ultima il risultato della somma. Esempio di utilizzo a += b
- -= : sottrae il valore della variabile b ad a e assegna a quest’ultima il risultato della differenza. Esempio di utilizzo a -= b
- *= : moltiplica il valore della variabile b per a e assegna a quest’ultima il risultato del prodotto. Esempio di utilizzo a *= b
- /= : divide il valore della variabile b per a e assegna a quest’ultima il risultato della divisione. Esempio di utilizzo a /= b
- %= : calcola il resto del rapporto tra il valore della variabile b ed a, assegnando a quest’ultima il resto della divisione. Esempio di utilizzo a %= b
Operatori Bitwise
Gli operatori bitwise (bitwise operators) si usano per compiere operazioni sui singoli bit di una variabile a secondo quanto indicato in una variabile b. Si applica unicamente a numeri interi Int e Long. Essi sono (in realtà più che operatori sono vere e proprie funzioni esplicite):
- shl : shift di b bit verso sinistra con segno. Esempio di utilizzo: a.shl(b)
- shr : shift di b bit verso destra con segno. Esempio di utilizzo: a.shr(b)
- ushr : shift di b bit verso destra senza segno. Esempio di utilizzo: a.ushr(b)
- and : operatore logico AND bit per bit tra la variabile a e b. Esempio di utilizzo: a.and(b)
- or : operatore logico OR bit per bit tra variabile a e b. Esempio di utilizzo: a.or(b)
- xor : operatore logico XOR bit per bit tra variabile a e b. Esempio di utilizzo: a.xor(b)
- inv : operazione inversa bit per bit tra la variabile a e b. Esempio di utilizzo: a.inv(b)
Operatori Unari
Gli operatori Unari (unary operators) sono operatori logici e matematici che agiscono su un solo operando a.
Operatori Aritmetici e Logici
Gli operatori aritmetici e logici servono per compiere delle operazioni algebriche, di conversione e logiche su una deterimanta variabile a. Essi sono:
- + : converte tipi Byte e Short in Int mentre non ha effetto su Int, Long, Float e Double. Non si applica a Boolean, String e Char. Esempio di utilizzo +a
- – : converte tipi Byte e Short in Int mantenendo inalterati i tipi Int, Long, Float e Double e invertendo il segno. Non si applica a Boolean, String e Char. Esempio di utilizzo -a
- ++ : incrementa la variabile di 1, nel caso di Char passa al carattere ASCII successivo. Non si applica a Boolean e String. Esempio di utilizzo ++a (incrementa la variabile e ritorna), a++ (ritorna la variabile e incrementa)
- – – : decrementa la variabile di 1, nel caso di Char passa al carattere ASCII precedente. Non si applica a Boolean e String. Esempio di utilizzo –a (decrementa la variabile e ritorna), a– (ritorna la variabile e decrementa)
- ! : nega il valore logico della variabile. Si applica solo ai Boolean. Esempio di utilizzo !a
Commenti recenti