Introduzione agli operatori Scala
Gli operatori vengono utilizzati per eseguire calcoli logici e matematici in qualsiasi linguaggio di programmazione. Scala ha anche vari operatori per eseguire vari calcoli e compiti, ma sono implementati come metodi poiché Scala è un linguaggio orientato agli oggetti, quindi tratta ogni simbolo come oggetto e operazione come un metodo. Rendono il calcolo semplice e facile.
Diversi operatori presenti in Scala sono:
- Operatori aritmetici
- Operatori di assegnazione
- Operatori relazionali
- Operatori logici
- Operatori bit a bit
Ora studiamo ogni operatore in dettaglio.
Operatori aritmetici alla Scala
Questi operatori vengono utilizzati per eseguire calcoli o calcoli matematici.
Operatore | Simbolo | Spiegazione | Formato |
aggiunta | + | Aggiunge entrambi gli operandi | x + y |
Sottrazione | - | Sottrae l'operando di destra da quello di sinistra | x - y |
Moltiplicazione | * | Moltiplica entrambi gli operandi | x * y |
Divisione | / | Dividi il numeratore per il denominatore | x / y |
Modulo | % | Restituisce il resto dopo la divisione | x% y |
Esempio: operatori aritmetici in Scala
object Arith (
def main (args: Array (String)) (
var a = 10;
var b = 5;
println (a + b);
println (a – b);
println (a * b);
println (a / b);
println (a % b)
)
)
Produzione:
scala> Arith.main (null)
15
5
50
2
0
Operatori di assegnazione Scala
Questi operatori vengono utilizzati per assegnare valori a una variabile o un oggetto.
Operatore | Simbolo | Spiegazione | Formato |
Incarico | = | Assegna il valore dell'operando destro all'operando sinistro | x = y + z |
aggiunta | + = | Aggiunge entrambi gli operandi e infine assegna il valore all'operando di sinistra | x + = y |
Sottrazione | - = | Sottrae l'operando di destra da sinistra e quindi assegna il valore all'operando di sinistra | x - = y |
Moltiplicazione | * = | Moltiplica entrambi gli operandi e assegna il valore all'operando di sinistra | x * = y |
Divisione | / = | Divide l'operando di sinistra per l'operando di destra e assegna il valore all'operando di sinistra | x / = y |
Modulo | % = | Valuta il modulo di due operandi e assegna il valore all'operando di sinistra | x% = y |
Bitwise AND | & = | Confronta il valore binario di due operandi, restituisce 1 se entrambi gli operandi sono 1 altrimenti restituisce 0 e assegna il valore all'operando di sinistra | x & = 5 |
OR bit a bit | | = | Confronta il valore binario di due operandi, restituisce 0 se entrambi gli operandi sono 0 altrimenti restituisce 1 e assegna il valore all'operando di sinistra | x | = 5 |
Bitwise XOR | = | Confronta il valore binario di due operandi, restituisce 0 se entrambi gli operandi sono uguali altrimenti restituisce 1 e assegna il valore all'operando di sinistra | x = 5 |
Tasto maiuscolo di sinistra | << = | Sposta i bit verso sinistra e assegna il risultato all'operando di sinistra | x << = 5 |
Spostamento a destra | >> = | Sposta i bit verso destra e assegna il risultato all'operando di sinistra | x >> = 5 |
Esempio: operatori di assegnazione in Scalaobject Assign (
def main (args: Array (String)) (
var a = 10;
var b = 5;
println (a += b);
println (a –= b);
println (a *= b);
println (a /= b);
println (a %= b);
a = 20;
b = 15;
println (a &= b);
println (a |= b);
println (a ^= b);
println (a <<= 2);
println (a >>= 2);
)
)
Produzione:
scala> Assign.main (null)
15
10
50
10
0
4
11
4
16
4
Operatori relazionali alla Scala
Questi operatori restituiscono il valore booleano dopo aver verificato le condizioni menzionate.
Operatore | Simbolo | Spiegazione | Formato |
Uguale a | == | Restituisce vero se entrambi gli operandi sono uguali, altrimenti restituisce falso | x == y |
Non uguale a | ! = | Restituisce vero se entrambi gli operandi non sono uguali, altrimenti restituisce falso | x! = y |
Più grande di | > | Restituisce vero se l'operando di sinistra è maggiore di destra altrimenti restituisce falso | x> y |
Meno di | < | Restituisce vero se l'operando di sinistra è più piccolo di destra altrimenti restituisce falso | x <y |
Maggiore o uguale a | > = | Restituisce vero se l'operando di sinistra è maggiore o uguale a destra altrimenti restituisce falso | x> = y |
Minore o uguale a | <= | Restituisce vero se l'operando di sinistra è più piccolo o uguale a destra altrimenti restituisce falso | x <= y |
Esempio: operatori relazionali in scala
object Relation (
def main (args: Array (String)) (
var a = 10;
var b = 5;
println (a == b);
println (a != b);
println (a > b);
println (a < b);
println (a >= b);
println (a <= b);
)
)
Produzione:
scala> Relation.main (null)
falso
vero
vero
falso
vero
falso
Operatore logico Scala
Questi operatori restituiscono anche il valore booleano in base agli input o agli operandi.
Operatore | Simbolo | Spiegazione | Formato |
AND logico | && | Restituisce vero se entrambi gli operandi sono diversi da zero altrimenti restituisce falso | x && y |
OR logico | || | Restituisce vero se uno degli operandi è diverso da zero, altrimenti restituisce falso | x || y |
NOT logico | ! | Inverte l'operando. Restituisce vero per falso e viceversa | !X |
Esempio: operatori logici in Scala
object Logic (
def main (args: Array (String)) (
var a = true;
var b = false;
println (a && b);
println (a || b);
println !(b);
)
)
Produzione:
scala> Logic.main (null)
falso
vero
vero
Scala Bitwise Operators
Questi operatori lavorano su bit e restituiscono il valore intero corrispondente come output.
Operatore | Simbolo | Spiegazione | Formato |
Binario AND | & | Controllare gli operandi bit a bit e restituire 1 se entrambi i bit sono 1 altrimenti restituire 0 | x & y |
OR binario | | | Controllare gli operandi bit a bit e restituire 0 se entrambi i bit sono 0 altrimenti restituire 1 | x | y |
XOR binario | ^ | Controllare gli operandi bit a bit e restituire 0 se entrambi i bit sono uguali, altrimenti restituire 1 | x y |
Binario NON | ~ | Restituisce quelli complementari, ovvero cambia da 1 a 0 e viceversa | ~ x |
Spostamento sinistro binario | << | I bit dell'operando di sinistra sono spostati sul lato sinistro del numero di bit menzionati dall'operando di destra | x << 3 |
Spostamento destro binario | >> | I bit dell'operando di sinistra sono spostati sul lato destro del numero di bit menzionati dall'operando di destra | x >> 3 |
Spostamento zero binario a destra | >>> | I bit dell'operando di sinistra vengono spostati sul lato destro del numero di bit menzionati dall'operando di destra e i valori di spostamento vengono sostituiti con zero di bu. | x >>> 3 |
Esempio: operatori bit a bit in Scala
object Bit (
def main (args: Array (String)) (
var a = 10;
var b = 5;
println (a & b);
println (a | b);
println (a b);
println ( ~ b);
a = 16;
b = 12;
println (a >> b);
println (a << b);
println (a >>> b);
)
)
Produzione:
scala> Bit. principale (null)
0
15
15
10
4
64
4
Articoli consigliati
Questa è stata una guida per gli operatori alla Scala. Qui discutiamo diversi tipi di operatori Scala come operatori aritmetici, operatori di assegnazione, operatori relazionali, operatori logici e operatori bit a bit con esempi. Puoi anche consultare i seguenti articoli per saperne di più -
- Usi della Scala
- Haskell vs Scala
- Scala: l'approccio funzionale
- Operatori MySQL