如果構造

if 構造(在 FORTRAN 77 中稱為塊 IF 語句)在許多程式語言中很常見。當邏輯表示式計算為 true 時,它有條件地執行一個程式碼塊。

[name:] IF (expr) THEN
    block
[ELSE IF (expr) THEN [name]
    block]
[ELSE [name]
   block]
END IF [name]

哪裡,

  • name - if 結構的名稱(可選)
  • expr - 括在括號中的標量邏輯表示式
  • block - 零個或多個語句或結構的序列

if then 語句開頭的構造名稱必須與 end if 語句中的構造名稱具有相同的值,並且它對於當前作用域單元應該是唯一的。

if 語句中,(in)評估語句的等式和邏輯表示式可以與以下運算子一起使用:

.LT.  which is <   ! less than
.LE.           <=  ! less than or equal
.GT.           >   ! greater than
.GE.           >=  ! greater than or equal
.EQ.           =   ! equal
.NE.           /=  ! not equal
.AND.              ! logical and
.OR.               ! logical or
.NOT.              ! negation

例子:

! simplest form of if construct
if (a > b) then
    c =  b / 2
end if
!equivalent example with alternate syntax
if(a.gt.b)then
   c=b/2
endif

! named if construct
circle: if (r >= 0) then
    l = 2 * pi * r
end if circle

! complex example with nested if construct
block: if (a < e) then
    if (abs(c - e) <= d) then
        a = a * c
    else
        a = a * d
    end if
else
    a = a * e
end if block

if 構造的歷史用法是所謂的“算術 if”語句。但是,由於這可以被更現代的結構所取代,因此這裡沒有涉及。更多細節可以在這裡找到。