• Articles
  • Tutorials
  • Interview Questions

Scala Operators

Introduction to Scala Operators

Operators are the symbols that perform the operation on some values. These values are known as operands. Scala has following operators –

  • Arithmetic Operators
  • Relational Operators
  • Logical Operators
  • Assignment Operators
  • Bitwise Operators

Check out Scala certification blog!

Watch this Apache-Spark-Scala video

Video Thumbnail

Arithmetic Operators

Operator Operator Name Description Example
+ Addition Adds two operands I = 40, J= 20I + J = 60
Subtraction Subtracts second operand from the first I = 40, J= 20I – J = 20
* Multiplication Multiplies both operands I = 40, J= 20I * J = 800
/ Divide Perform division operation I = 40, J= 20I / J = 2
% Modulus Return the remainder after Division I = 40, J= 20I % J = 0

Relational Operators

It is also known as comparison operator because it compares the values. After comparison, it returns the Boolean value i.e. either true or false.

Operator Operator Name Description Example
== Equal to If the values of two operands are equal then then it returns true. I = 20, J = 20(I == J) is true
!=  Not Equal to If the values of two operands are not equal then it returns true. I = 20, J = 20(I == J) is False
< Less than If the value of left operand is less than the value of right operand then it returns true I = 40, J = 20(I < J) is False
> Greater than If the value of left operand is greater than the value of right operand then it returns true I = 40, J = 20(I > J) is True
<= Less than or equal to If the value of left operand is less than or equal to the value of right operand then it returns true. I = 40, J = 20(I <= J) is False
>= Greater than or equal to If the value of left operand is greater than or equal to the value of right operand then it returns true. I = 40, J = 20(I >= J) is True

Learn more about Scala Traits with this insightful tutorial.

Certification in Bigdata Analytics

Logical Operators

Assignment Operator

Operator Operator Name Description Example
and Logical AND When Both side condition is true the result is true otherwise false 2<1 and 2<3False
or Logical OR When at least one condition is true then the result is true otherwise false 2<1 or 2<3True
not Logical NOT Reverse the condition Not(5>4)False

Prepare yourself for the industry by going through this Spark Interview Questions!

Assignment Operator

Operator Operator Name Description Example
= Assignment It assigns a value from right side operand to left side operand I = 40 It assigns 40 to I
+= Add then assign It performs addition and then results is assigned to left-hand operand I+=J that meansI = I + J
-= Subtract then assign It performs subtraction and then results is assigned to left-hand operand I-=J that meansI = I – J
*= Multiply the assign It performs multiplication and then results are assigned to the left-hand operand. I*=J that meansI = I * J
/= Divide then assign It performs division and then results is assigned to left-hand operand I/=J that meansI = I / J
%= Modulus then assign It performs modulus and then results is assigned to left-hand operand I%=Jthat meansI = I % J
<<= Left shift AND assignment operator It performs Binary left shift and then results is assigned to left-hand operand I<<=5 that means
I = I << 5
>>= Right shift AND assignment operator It performs Binary right shift and then results is assigned to left-hand operand I>>=5 that means
I = I >>=5
&= Bitwise AND assignment operator It performs bitwise AND and then result is assigned to left-hand operand I &= 5 that meansI = I & 5
^= bitwise exclusive OR and assignment operator It performs bitwise exclusive OR and then result is assigned to left-hand operand I ^= 5 that meansI = I ^ 5
|= bitwise inclusive OR and assignment operator It performs bitwise inclusive OR and then result is assigned to left-hand operand I |= 5 that meansI = I | 5

Are you interested in learning Scala from experts? Enroll in our Scala training in Bangalore now!

Bitwise Operators

It performs bit by bit operation. Suppose there are two variable I = 10 and J = 20 and their binary values are
I = 10 = 0000 1010
J = 20 = 0001 0100

Operator Operator Name Description Example
& Binary AND If both bits are 1 then 1 otherwise 0  I & J0000 0000
| Binary OR If one of the bit is 1 then 1 otherwise 0 I | J0001 1110
^ Binary XOR If both bits are same then 0 otherwise 1 I ^ J0001 1110
~ Binary Complement If the bit is 1 the make it 0 and if a bit is 0 the make it 1 ~I1111 0101
<< Binary Left Shift The left operand is moved left by the number of bits specified by the right operand. I << 2 will give 240 i.e. 1111 0000
>> Binary Right Shift The left operand is moved right by the number of bits specified by the right operand. I >> 2 will give 15 i.e. 1111
>>> Shift right zero-fill operator Left operands are shifted right by the no. of bits specified by the right operand and shifted values are filled up with 0. I >>>2 will give 15  i.e. 0000 1111

Become a Big Data Architect

Enroll yourself in Online Scala Training and give a head-start to your career in Scala!

Operator Precedence

Category  Operator  Associativity 
Postfix () [] Left to right
Unary ! ~ Right to left
Multiplicative * / % Left to right
Additive + – Left to right
Shift >> >>> << Left to right
Relational > >= < <= Left to right
Equality == != Left to right
Bitwise AND & Left to right
Bitwise XOR ^ Left to right
Bitwise OR | Left to right
Logical AND && Left to right
Logical OR || Left to right
Assignment = += -= *= /= %= >>= <<= &= ^= |= Right to left

If you want to know the Kafka Conclusion of our Kafka blog, refer to this blog!

Course Schedule

Name Date Details
Big Data Course 23 Nov 2024(Sat-Sun) Weekend Batch View Details
30 Nov 2024(Sat-Sun) Weekend Batch
07 Dec 2024(Sat-Sun) Weekend Batch

About the Author

Technical Research Analyst - Big Data Engineering

Abhijit is a Technical Research Analyst specialising in Big Data and Azure Data Engineering. He has 4+ years of experience in the Big data domain and provides consultancy services to several Fortune 500 companies. His expertise includes breaking down highly technical concepts into easy-to-understand content.