# FORTRAN Logical Expressions

A logical expression can be formed by comparing arithmetic expressions using the following relational operators:
.LT. means less than (<)
.LE. less than or equal (<=)
.GT. greater than (>)
.GE. greater than or equal (>=)
.EQ. equal (=)
.NE. not equal (/=)
So you cannot use symbols like < or = for comparisons in Fortran 77.
For example: (x.eq.y) is valid while (x=y) is not valid in Fortran 77.
Logical expressions can be combined by the logical operators .AND. .OR. .NOT. which have the obvious meaning.

### Logical variables and assignment

Truth values can be stored in logical variables. The assignment is analogous to the arithmetic assignment.
Example:
logical a, b
a = .TRUE.
b = a .AND. 3 .LT. 5/2
The order of precedence is important, as the last example shows. The rule is that arithmetic expressions are evaluated first, then relational operators, and finally logical operators. Hence b will be assigned .FALSE. in the example above.
Logical variables are seldom used in Fortran. But logical expressions are frequently used in conditional statements like the if statement.