# Control flow
# Overview
Blocks of statements are generally executed linearly. However, statements are the primary place where this flow of execution can be controlled.
Carbon's flow control statements are:
- `if` and `else` provides conditional execution of statements.
- Loops:
- `while` executes the loop body for as long as the loop
expression returns
True. - `for` iterates over an object, such as elements in an array.
- `break` exits loops.
- `continue` goes to the next iteration of a loop.
- `while` executes the loop body for as long as the loop
expression returns
- `return` ends the flow of execution within a function, returning it to the caller.