TL ; DR:
When both numbers are
Ints, the/operator drops the fractional part and gives the quotient:println(10 / 2) // Output: 5 println(15 / 4) // Output: 3 println(20 / 3) // Output: 6It can also be used with variables:
val a = 3 val b = 7 println(20 / a) // Output: 6 println(b / a) // Output: 2
Full lesson:
Remember how we first learn about the division of two integer numbers in primary school?
The quotient is the number of times a division is completed fully, while the remainder is the amount left that doesn't entirely go into the divisor.
Here are some examples:
10 / 2 = quotient 5, remainder 0
15 / 4 = quotient 3, remainder 3
20 / 3 = quotient 6, remainder 2
Floor division
Scala has no separate floor-division operator. When both operands are Ints, the normal division operator (/) returns the integral part of the result (the quotient):
println(10 / 2) // Output: 5
println(15 / 4) // Output: 3
println(20 / 3) // Output: 6
It can also be used with variables:
val a = 3
val b = 7
println(20 / a) // Output: 6
println(b / a) // Output: 2
If one of the numbers is a Double, the result keeps its decimals: println(20 / 3.0) prints 6.666666666666667. Also, Math.floor works on Doubles and returns a Double, so println(Math.floor(3.9)) prints 3.0, not 3. For a whole-number quotient, use / on two Ints.
Modulo
The modulo operator (%) calculates the remainder of dividing two values:
println(10 % 2) // Output: 0
println(15 % 4) // Output: 3
println(20 % 3) // Output: 2
// Can be used with variables:
val c = 2
val d = 4
println(d % c) // Output: 0
println(11 % d) // Output: 3
Quotient and remainder
In programming, we combine both these concepts to get the quotient and remainder of some division:
// Let's divide 26 by 3:
val quotient = 26 / 3
val remainder = 26 % 3
println(quotient) // Output: 8
println(remainder) // Output: 2
Assignment
Follow the Coding Tutorial and let's practice with quotient and remainder!
Hint
Look at the examples above if you get stuck.
Free plan: 30 tutor messages. PRO is unlimited.
