Skip to content

Commit 4e4cb4c

Browse files
authored
Merge pull request #117 from testandset/scala-operators
[SCALA-9] Code examples for Scala Operators article
2 parents bdb0bc4 + 932f65a commit 4e4cb4c

File tree

1 file changed

+94
-0
lines changed

1 file changed

+94
-0
lines changed
Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
package com.baeldung.scala.operators
2+
3+
/**
4+
* Code examples for Scala operators
5+
*/
6+
object ScalaOperators {
7+
8+
// Operator & dot notation
9+
assert(1 + 2 == 3)
10+
assert(1.+(2) == 3)
11+
12+
assert("Baeldung".charAt(0) == 'B')
13+
val char: Char = "Baeldung" charAt 0
14+
assert(char == 'B')
15+
16+
assert("Baeldung".replace('g', 'G') == "BaeldunG")
17+
val str: String = "Baeldung" replace('g', 'G')
18+
assert(str == "BaeldunG")
19+
20+
// Unary operator notation
21+
assert(10.unary_- == -10)
22+
23+
// Arithmetic operators
24+
assert(1 + 2 == 3)
25+
assert(3.1 - 1.0 == 2.1)
26+
assert(2 * 6 == 12)
27+
assert(15 / 6 == 2)
28+
assert(15 % 6 == 3)
29+
30+
val num: Int = 10
31+
assert(-num == -10)
32+
assert(10 + -num == 0)
33+
34+
// Relational operators
35+
assert(10 < 20 == true)
36+
assert(10 > 20 == false)
37+
assert(3.0 >= 2.5 == true)
38+
assert(3.0 <= 2.5 == false)
39+
assert(!true == false)
40+
41+
// Logical operators
42+
assert(true || false == true)
43+
assert(true && false == false)
44+
45+
def printTrue(): Boolean = {
46+
println("true");
47+
true
48+
}
49+
50+
def printFalse(): Boolean = {
51+
println("false");
52+
false
53+
}
54+
55+
val result1: Boolean = printFalse() && printTrue()
56+
val result2: Boolean = printTrue() && printFalse()
57+
val result3: Boolean = printFalse() & printTrue()
58+
assert(result1 == false)
59+
assert(result2 == false)
60+
assert(result3 == false)
61+
62+
// Bitwise operators
63+
val bitwiseAndResult: Int = 2 & 4
64+
assert(bitwiseAndResult == 0)
65+
66+
val bitwiseOrResult: Int = 2 | 4
67+
assert(bitwiseOrResult == 6)
68+
69+
val bitwiseXorResult: Int = 2 ^ 4
70+
assert(bitwiseXorResult == 6)
71+
72+
assert(~2 == -3)
73+
74+
assert(2 << 2 == 8)
75+
assert(-8 >> 2 == -2)
76+
assert(-8 >>> 2 == 1073741822)
77+
78+
// Equality operators
79+
assert(List(1, 2, 3) == List(1, 2, 3))
80+
assert(List() != List(1, 2, 3))
81+
82+
// Operator precedence
83+
assert(2 + 3 * 4 == 14)
84+
assert(4 - 2 + 1 == 3)
85+
86+
var value = 10
87+
value += 2 * 10
88+
assert(value == 30)
89+
90+
// Operator associativity
91+
assert(2 * 3 == 6)
92+
assert(List(1, 2) ::: List(3) == List(1, 2, 3))
93+
assert(List(3).:::(List(1, 2)) == List(1, 2, 3))
94+
}

0 commit comments

Comments
 (0)