Skip to content

Latest commit

 

History

History
81 lines (58 loc) · 2.22 KB

if-then-else-construct.md

File metadata and controls

81 lines (58 loc) · 2.22 KB
typelayouttitledescriptionpartofoverview-namenumoutofprevious-pagenext-pagenew-version
section
multipage-overview
The if/then/else Construct
This page demonstrates Scala's if/then/else construct, including several examples you can try in the REPL.
scala_book
Scala Book
14
54
control-structures
for-loops
/scala3/book/control-structures.html#the-ifthenelse-construct

A basic Scala if statement looks like this:

if (a == b) doSomething()

You can also write that statement like this:

if (a == b) { doSomething() }

The if/else construct looks like this:

if (a == b) { doSomething() } else { doSomethingElse() }

The complete Scala if/else-if/else expression looks like this:

if (test1) { doX() } elseif (test2) { doY() } else { doZ() }

if expressions always return a result

A great thing about the Scala if construct is that it always returns a result. You can ignore the result as we did in the previous examples, but a more common approach — especially in functional programming — is to assign the result to a variable:

valminValue=if (a < b) a else b

This is cool for several reasons, including the fact that it means that Scala doesn’t require a special “ternary” operator.

Aside: Expression-oriented programming

As a brief note about programming in general, when every expression you write returns a value, that style is referred to as expression-oriented programming, or EOP. This is an example of an expression:

valminValue=if (a < b) a else b

Conversely, lines of code that don’t return values are called statements, and they are used for their side-effects. For example, these lines of code don’t return values, so they are used for their side effects:

if (a == b) doSomething() println("Hello")

The first example runs the doSomething method as a side effect when a is equal to b. The second example is used for the side effect of writing a string to STDOUT. As you learn more about Scala you’ll find yourself writing more expressions and fewer statements. The differences between expressions and statements will also become more apparent.

close