The value of a variable often depends on whether a particular boolean expression is or is not true and on nothing else. For instance one common operation is setting the value of a variable to the maximum of two quantities. In Java you might write

```
if (a > b) {
max = a;
}
else {
max = b;
}
```

Setting a single variable to one of two states based on a single
condition is such a common use of `if-else`

that a
shortcut has been devised for it, the conditional operator, ?:.
Using the conditional operator you can rewrite the above example in
a single line like this:

`max = (a > b) ? a : b;`

`(a > b) ? a : b;`

is an expression which returns
one of two values, `a`

or `b`

. The condition,
`(a > b)`

, is tested. If it is true the first value,
`a`

, is returned. If it is false, the second value,
`b`

, is returned. Whichever value is returned is
dependent on the conditional test, `a > b`

. The
condition can be any expression which returns a boolean value.