조건 분기문 IF 의 구문은 다음과 같다.

IF (logical expression) THEN
        statements
END IF

IF 와 END IF 사이의 블락은 logical expression 의 논리값이 참일 경우에만 실행된다.

IF 문에 의해서 실행되는 문장이, 하나밖에 없을때에는, THEN 과 END IF 를 생략하고, 같은줄에 다음과 같은 형식으로 쓸 수 있다.

IF (logical expression) statement

END IF 로 블락을 묶어서 쓰는 IF 를 block-IF, 한줄IF 를 logical-IF 라고 부르기도 한다.



IF 를 사용한 다중분기는 ELSE 와 ELSE IF 를 이용한다.

구문은 다음과 같다.

IF (logical expr1) THEN
       statements
ELSE IF (logical expr2) THEN
       statements
ELSE IF ...
       ...
ELSE
       statements
END IF
    



라인 넘버링에 의한 레이블링 이외에, 포트란의 IF 문 또는 ELSE IF 문은 또다른 레이블링을 지원하는데, 이것은 특히, 네스티드(nested) IF 문의 경우에 어떤 ELSE IF 가 누구꺼인지, 어떤 END IF 가 어떤 IF 랑 대응되는지등을 표시할때 유용하다. 물론, 보통의 경우 인덴테이션으로도 충분하지만, 대형 프로그램의 경우 그렇지 않은경우도 있다.

레이블링 구문은 다음과 같다.

name: IF ( ... ) THEN
      ...
ELSE IF ( ... ) THEN [name]
     ...
...
ELSE [name]
     ...
END IF name

IF 문에 네이밍을 하면, END IF 문에도 똑같은 네이밍을 해야된다. 어떠한 IF 랑 짝인지를 보려고 하는거니까...
[ ] 로 표시한 부분은 optional 이다. 동일한 레벨의 IF 블락에 대해서는 같은 이름이 사용되어야 한다.
nested 된 경우에는, 부모IF 와 자식IF 가 당연히 다른 이름이 사용되어야 한다.