Uvod u Scala operatore
Operatori se koriste za obavljanje logičkih i matematičkih izračuna u bilo kojem programskom jeziku. Scala također ima razne operatore za obavljanje različitih izračuna i zadataka, ali oni se primjenjuju kao metode jer je Scala objektno orijentirani jezik, pa stoga svaki simbol tretira kao objekt, a radnja kao metodu. Oni čine računanje jednostavnim i lakim.
Različiti operatori prisutni u Scali su:
- Aritmetički operatori
- Operatori dodjele
- Relacijski operatori
- Logički operatori
- Bitni operatori
Sada ćemo detaljno proučiti svakog operatera.
Aritmetički operateri Scala
Ovi se operateri koriste za obavljanje matematičkih izračuna ili izračuna.
Operater | Simbol | Obrazloženje | Format |
Dodatak | + | Dodaje oba operanda | x + y |
Oduzimanje | - | Oduzmi desni operand od lijevog | x - y |
Množenje | * | Množi oba operanda | x * y |
Podjela | / | Brojač podijelite na nazivnik | x / y |
modul | % | Vraća ostatak nakon podjele | x% y |
Primjer: Aritmetički operatori u skali
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)
)
)
Izlaz:
skala> Arith.main (null)
15
5
50
2
0
Operatori dodjele Scale
Ovi se operateri koriste za dodjeljivanje vrijednosti varijabli ili objektu.
Operater | Simbol | Obrazloženje | Format |
Zadatak | = | Dijeli vrijednost desnog operanda lijevom operandu | x = y + z |
Dodatak | + | Dodaje oba operanda i na kraju dodijeli vrijednost lijevom operandu | x + = y |
Oduzimanje | - = | Oduzmi desni operand s lijeve strane, a zatim dodijeli vrijednost lijevom operandu | x - = y |
Množenje | * = | Pomnoži oba operanda i dodijeli vrijednost lijevom operandu | x * = y |
Podjela | / = | Dijeli lijevi operand s desnim operandom i dodijeli vrijednost lijevom operandu | x / = y |
modul | % = | Procjenjuje modul dvaju operanda i dodjeljuje vrijednost lijevom operandu | x% = y |
Bitwise I | & = | Usporeduje binarnu vrijednost dva operanda, vratite 1 ako su oba operanda 1 else vrati 0 i dodijelite vrijednost lijevom operandu | x & = 5 |
Bitno ILI | | = | Usporeduje binarnu vrijednost dvaju operanda, vratite 0 ako su oba operanda 0 drugo vrati 1 i dodijelite vrijednost lijevom operandu | x | = 5 |
Bitno XOR | = | Usporeduje binarnu vrijednost dvaju operanda, vratite 0 ako su oba operanda ista, pa vratite 1 i dodijelite vrijednost lijevom operandu | x = 5 |
Smjena ulijevo | << = | Pomiče bitove prema lijevoj strani i dodjeljuje rezultat lijevom operandu | x << = 5 |
Pravi pomak | >> = | Pomiče bitove udesno i dodjeljuje rezultat lijevom operandu | x >> = 5 |
Primjer: Operatori dodjele u 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);
)
)
Izlaz:
scala> Assign.main (null)
15
10
50
10
0
4
11
4
16
4
Relacijski operatori Scala
Ovi operatori vraćaju logičku vrijednost nakon provjere navedenih uvjeta.
Operater | Simbol | Obrazloženje | Format |
Jednak | == | Vraća true ako su oba operanda jednaka, return return false | x == y |
Nije jednaka | ! = | Vraća true ako oba operanda nisu jednaka | x! = y |
Više nego | > | Vraća true ako je lijevi operand veći od desnog, vrati false | x> y |
Manje od | < | Vraća true ako je lijevi operand manji od desnog, vrati false | x <y |
Veći ili jednaki | > = | Vraća true ako je lijevi operand veći ili jednak desnom, a false return false | x> = y |
Manje od ili jednako | < | Vraća true ako je lijevi operand manji ili jednak desnom, pa false false | x <= y |
Primjer: Relacijski operatori u 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);
)
)
Izlaz:
scala> Relation.main (null)
lažan
pravi
pravi
lažan
pravi
lažan
Logički operator Scala
Ovi operateri također vraćaju logičku vrijednost prema ulazima ili operandima.
Operater | Simbol | Obrazloženje | Format |
Logički I | && | Vraća true ako oba operanda nisu jednaka nuli | x && y |
Logički ILI | || | Vraća true ako je bilo koji od operela nuliran, a return return false | x || y |
Logički NE | ! | Preokreće operand. Vraća true za false i obrnuto | !x |
Primjer: Logični operatori u Scali
object Logic (
def main (args: Array (String)) (
var a = true;
var b = false;
println (a && b);
println (a || b);
println !(b);
)
)
Izlaz:
skala> Logic.main (null)
lažan
pravi
pravi
Operatori bitnih razmjera Scale
Ovi operateri rade na bitovima i vraćaju odgovarajuću cijelu vrijednost kao izlaz.
Operater | Simbol | Obrazloženje | Format |
Binarni I | & | Provjerite operande položeno i vratite 1 ako su oba bita još 1, vratite 0 | x & y |
Binarni ILI | | | Provjerite operande položeno i vratite 0 ako su oba bita 0 drugo se vrate 1 | x | y |
Binarni XOR | ^ | Provjerite operande položeno i vratite 0 ako su oba bita drugačija, vratite 1 | x y |
Binarni NE | ~ | Vraćaju komplementaciju, tj. Promjene 1 u 0 i obrnuto | ~ x |
Binarni lijevi pomak | << | Bitovi lijevog operanda pomiču se s lijeve strane za broj bitova koji spominje desni operand | x << 3 |
Binarni desni pomak | >> | Bitovi lijevog operanda pomiču se s desne strane za broj bitova koji spominje desni operand | x >> 3 |
Binarni desni pomak nulta ispuna | >>> | Bitovi lijevog operanda pomiču se s desne strane za broj bitova koji spominje desni operand, a pomjerene vrijednosti zamjenjuju se nulama. | x >>> 3 |
Primjer: operateri bitnosti u 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);
)
)
Izlaz:
skala> Bit. glavni (null)
0
15
15
10
4
64
4
Preporučeni članci
Ovo je vodič za Opere Scale. Ovdje ćemo s primjerima razgovarati o različitim vrstama Scala-ovih operatora poput aritmetičkih operatora, operatora dodjele, relacijskih operatora, logičkih operatora i bitnih operatora. Možete pogledati i sljedeće članke da biste saznali više -
- Primjene Scala
- Haskell vs Scala
- Scala: Funkcionalni pristup
- MySQL Operators