If文
出典: フリー百科事典『ウィキペディア(Wikipedia)』
- ウィキペディアにおけるif文についてはWikipedia:条件文をご覧ください。
If文(イフぶん)はプログラミング言語において「もし~だったら」という条件を示す文である。if else文と呼ばれることもある。
文法はプログラミング言語によって異なるが、条件文はifの後に処理の条件となる条件式、条件に合致する場合に処理される真文、条件に合わない場合に処理される偽文で構成されている。
目次 |
[編集] 文法
[編集] 共通する注意事項
[編集] Cの場合
真の時だけ実行するとき
if(条件式) 真文
真と偽で実行文を変えるとき
if(条件式) 真文 else 偽文
- 「
if(条件式) 真式文 else 偽式文
」は条件演算子 (三項演算子)?
および:
を用いて「条件式?真式:偽式
」とも表せる。ただし、条件演算子は式であるので値をもつことがif
文と異なる。
[編集] Common Lispの場合
真の時だけ実行するとき
(if 条件文 真文)
真と偽で実行文を変えるとき
(if 条件文 真文 偽文)
(cond (条件 真文) (t 偽文))
と同一
[編集] Pascalの場合
真の時だけ実行するとき
if 条件文 then 真文
真と偽で実行文を変えるとき
if 条件文 then 真文 else 偽文
[編集] Adaの場合
真の時だけ実行するとき
if 論理値 then 真文 end if;
真と偽で実行文を変えるとき
if 論理値 then 真文 else 偽文 end if;
- Adaの場合,if文の論理値として許容されるのは,言語既定義の列挙型である
Boolean
(もしくはBoolean
の派生型)のみであり,例えばCなどのような,0を偽とし,0以外を真とする条件とは異なる。
[編集] Perlの場合
真の時だけ実行するとき
if(条件文) { 真文 }
真と偽で実行文を変えるとき
if(条件文) { 真文 } else { 偽文 }
[編集] Rubyの場合
Rubyのifは厳密に言えばif式であり、条件が成立した方の節で最後に評価された式の値を返す。
真の時だけ実行するとき
if 条件式 (then) 真文 end
真と偽で実行文を変えるとき
if 条件文 (then) 真文 else 偽文 end
[編集] BASICの場合
真の時だけ実行するとき
IF 条件式 THEN 真文
真と偽で実行文を変えるとき
IF 条件式 THEN 真文 ELSE 偽文
真文・偽文が1行で書ききれない場合はGoto文が併用される。
[編集] Visual Basicの場合
真の時だけ実行するとき
If 条件式 Then 真文 End If
真と偽で実行文を変えるとき
If 条件式 Then 真文 Else 偽文 End If
真文・偽文が短い場合には BASIC と同様の書き方も可能である。
[編集] OpenOffice.org Calcの場合
真の式だけ実行するとき
IF(条件式;真文;"")
真と偽で実行文を変えるとき
IF(条件式;真文;偽文)
[編集] FORTRAN
1行のみの場合
if(条件式) 真文
複数行にまたがる場合
if(条件式1) then 条件式1が真の場合ここから ここまでのプログラムが実行される(複数行) else if(条件式2) then 条件式2が真の場合ただしすでに条件式1が成り立っている場合は除くここから ここまでのプログラムが実行される(複数行) else すべてのなかのいずれの条件にも当てはまらない場合ここから ここまでのプログラムが実行される(複数行) end if
[編集] プログラム例
特に断りがない場合na
とnb
の大きい方をnc
に代入という意味である。
[編集] Cでの例
if(na > nb) { nc = na; } else { nc = nb; }
nc = (na > nb) ? na : nb
としても同じ事ができる。
[編集] Common Lispでの例
(if (> na nb) (setq nc na) (setq nc nb) )
これはcondを使った
(cond ((> na nb) (setq nc na)) (t (setq nc nb)) )
と同様である。
[編集] Pascalでの例
if na > nb then nc := na else nc := nb
[編集] R言語での例
nc <- ifelse(na > nb, na, nb)
[編集] FORTRANの例
if(a.eq.b) c=5
上記の記述ではa=b
の場合c=5
になる簡単なプログラム例である。
if(a.eq.100) then b=30 else if(a.eq.80) then b=25 else b=20 end if
上記の記述ではa=100
の場合はb=30
となり,a=80
の場合はb=25
,その他の場合はb=20
となるプログラム例である。