Uvod v operaterje Scala
Operaterji se uporabljajo za izvajanje logičnih in matematičnih izračunov v katerem koli programskem jeziku. Scala ima tudi različne operaterje, ki izvajajo različne izračune in naloge, vendar se izvajajo kot metode, saj je Scala objektno orientiran jezik, zato vsak simbol obravnava kot objekt in operacijo kot metodo. Računanje je preprosto in enostavno.
V Scali so prisotni različni operaterji:
- Aritmetični operaterji
- Izvajalci dodeljevanja
- Relacijski operaterji
- Logični operaterji
- Bitni operaterji
Zdaj podrobno preučimo vsakega operaterja.
Aritmetični operaterji Scala
Ti operaterji se uporabljajo za izvajanje matematičnih izračunov ali izračunov.
Operater | Simbol | Pojasnilo | Oblika |
Dodatek | + | Doda oba operanda | x + y |
Odštevanje | - | Odšteva desni operand od levega | x - y |
Množenje | * | Pomnoži oba operanda | x * y |
Divizije | / | Števec ločimo na imenovalca | x / y |
Modul | % | Vrne preostanek po delitvi | x% y |
Primer: Aritmetični operaterji v Scali
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)
)
)
Izhod:
skala> Arith.main (null)
15
5
50
2
0
Izvajalci dodeljevanja Scala
Ti operaterji se uporabljajo za dodelitev vrednosti spremenljivki ali predmetu.
Operater | Simbol | Pojasnilo | Oblika |
Dodelitev | = | Levemu operandu dodeli vrednost desnega operanda | x = y + z |
Dodatek | + = | Doda oba operanda in na koncu dodeli vrednost levemu operandu | x + = y |
Odštevanje | - = | Odštejte desni operand z leve in nato levemu operandu dodelite vrednost | x - = y |
Množenje | * = | Pomnoži oba operanda in dodeli vrednost levemu operandu | x * = y |
Divizije | / = | Levi operand loči na desni operand in levemu operandu dodeli vrednost | x / = y |
Modul | % = | Oceni modul dveh operandov in dodeli vrednost levemu operandu | x% = y |
Bitwise IN | & = | Primerja binarno vrednost dveh operandov, vrne 1, če sta oba operanda 1, sicer vrne 0 in vrednost dodeli levemu operandu | x & = 5 |
Bitno ALI | | = | Primerja binarno vrednost dveh operandov, vrni 0, če sta oba operanda 0 drugo vrne 1 in vrednost dodeli levemu operandu | x | = 5 |
Bitwise XOR | = | Primerja binarno vrednost dveh operandov, vrni 0, če sta oba operanda enaka, vrne 1 in vrednost dodeli levemu operandu | x = 5 |
Levi shift | << = | Bite premakne v levo in rezultat dodeli levemu operandu | x << = 5 |
Pravi premik | >> = | Bite premakne v desno in rezultat dodeli levemu operandu | x >> = 5 |
Primer: operaterji dodeljevanja v Scaliobject 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);
)
)
Izhod:
scala> Assign.main (null)
15
10
50
10
0
4
11
4
16
4
Relacijski upravljavci Scala
Ti operaterji vrnejo logično vrednost po preverjanju omenjenih pogojev.
Operater | Simbol | Pojasnilo | Oblika |
Enako | == | Vrne true, če sta oba operanda enaka, pa se vrne false | x == y |
Ni enako | ! = | Vrne true, če oba operanda nista enaka, vrne false | x! = y |
Večji kot | > | Vrne true, če je levi operand večji od desnega, vrne false | x> y |
Manj kot | < | Vrne true, če je levi operand manjši od desnega, vrne false | x <y |
Večja ali enaka | > = | Vrne true, če je levi operand večji ali enak desni, se vrne false | x> = y |
Manj kot ali enako | <= | Vrne true, če je levi operand manjši ali enak desni, se vrne false | x <= y |
Primer: Relacijski operaterji v skali
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);
)
)
Izhod:
skala> Relation.main (null)
lažno
prav
prav
lažno
prav
lažno
Logični operater Scala
Ti operaterji vrnejo tudi bulovo vrednost glede na vhode ali izvode.
Operater | Simbol | Pojasnilo | Oblika |
Logični IN | && | Vrne true, če oba operanda nista nič drugega, vrneta false | x && y |
Logični ALI | || | Vrne true, če kateri koli operand ni nič, vrne false | x || y |
Logično NE | ! | Obrne operand. Vrne true za false in obratno | ! x |
Primer: Logični operaterji v Scali
object Logic (
def main (args: Array (String)) (
var a = true;
var b = false;
println (a && b);
println (a || b);
println !(b);
)
)
Izhod:
skala> Logic.main (null)
lažno
prav
prav
Bitlacijski operaterji Scale
Ti operaterji delajo na bite in vrnejo ustrezno vrednost celotnega števila kot izhod.
Operater | Simbol | Pojasnilo | Oblika |
Binarni IN | & | Preverite opernde po povzetju in vrnite 1, če sta oba bita še 1, vrnite 0 | x & y |
Binarni ALI | | | Preverite opernde po povzetju in vrnite 0, če sta oba bita 0 drugo vrne 1 | x | y |
Binarni XOR | ^ | Preverite opernde po povzetju in vrnite 0, če sta oba bita sicer vrnjena 1 | x y |
Binarni NE | ~ | Vrne dopolnilo, torej spremembe od 1 do 0 in obratno | ~ x |
Binarni levi premik | << | Biti levega operanda se premaknejo v levo stran za število bitov, ki jih omenja desni operand | x << 3 |
Binarni desni premik | >> | Biti levega operanda se pomaknejo na desno stran s številom bitov, ki jih omenja desni operand | x >> 3 |
Binarni desni premik ničelnega polnjenja | >>> | Biti levega operanda se pomaknejo na desno stran s številom bitov, ki jih omenja desni operand, pomaknjene vrednosti pa so nadomeščene na nič. | x >>> 3 |
Primer: Bitnostni operaterji v Scali
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);
)
)
Izhod:
skala> Bit. glavni (ničelno)
0
15
15
10
4
64
4
Priporočeni članki
To je vodnik za izvajalce Scale. Tukaj obravnavamo različne vrste operaterjev Scale, kot so aritmetični operaterji, operaterji dodeljevanja, relacijski operaterji, logični operaterji in bitni operaterji s primeri. Če želite izvedeti več, si oglejte tudi naslednje članke -
- Uporaba Scala
- Haskell proti Scali
- Scala: Funkcionalni pristop
- Operatorji MySQL