# IF ... END IF

IF is a very powerful control flow sentence that allows you to make decisions under specified contitions.

## Syntax

```IF expression THEN sentences [: END IF]
```

or

```IF expression THEN
sentences
[ELSEIF expression THEN sentences]
[ELSEIF expression THEN sentences]
...
[ELSE sentences]
END IF
```

### Examples

`IF a < 5 THEN PRINT "A is less than five" ELSE PRINT "A is greater than five"`

Sentences might be in multiple lines:

```IF a < 5 THEN
PRINT "A is less than five"
a = a + 5
ELSE
PRINT "A is greater than five"
END IF```

Since IF is a sentence, it can be nested; however, remember that every IF must be closed with END IF when the line is splitted after THEN (mutiline IF):

```IF a < 5 THEN
PRINT "A is less than five"
IF a > 2 THEN
PRINT "A is less than five but greater than 2"
END IF
ELSE IF a < 7 THEN
PRINT "A is greater or equal to five, but lower than 7"
ELSE
PRINT "A is greater than five"
END IF
END IF```

## Using ELSEIF

In the example above, you see that nesting an IF inside another one could be somewhat verbose and error prone. It's better to use the ELSEIF construct. So the previous example could be rewritten as:

```IF a < 5 THEN
PRINT "A is less than five"
IF a > 2 THEN
PRINT "A is less than five but greater than 2"
END IF
ELSEIF a < 7 THEN
PRINT "A is greater or equal to five, but lower than 7"
ELSE
PRINT "A is greater than five"
END IF```

## Remarks

• This sentence is extended allowing now multiline IFs and also compatible with the Sinclair BASIC version.
• Starting from version 1.8 onwards the trailing if is not mandatory for single-line IFs, for compatibility with Sinclair BASIC