プログラミングのif文の条件や書き方を初心者にもわかりやすく解説!

プログラミングのif文条件の書き方

プログラミングをしていると必ず出てくるこの場面…

「特定の条件の時だけ処理を実行させたい!」

そんなときに使うのが「if文」です。

if文を使わないでプログラミングすることなんて不可能!

この記事を読んで「正しいif文の使い方」をマスターしちゃいましょう!

if文とは

「if」を日本語にすると「もし~ならば」ですよね。

プログラミングで使う「if」も、これとまったく同じ用途で使います。

「もし空から100万円が降ってきたら…」

「もし大好きな人にフラれてしまったら…」

「もしも君が1人なら…」

この「~したら」の部分をプログラミングで表すためにif文を使うのです。

そして、if文は条件を満たしたときにだけ、特定の処理を実行させることができます。

「もし僕が夢のプログラマーになったら…結婚しよう!」

この「結婚しよう!」が、条件を満たしたときにだけ実行される処理の部分にあたります。

キツネ

こう考えると、日常のほとんどはif文だらけだね!

if文の書き方

まずは、if文の基本的な構成について見てみましょう。

if文の構成(Ruby)
# if文の書き方
if 条件
  処理
end

上のif文はRuby言語で書いた場合になります。

プログラミング言語によってifの記述は少し違いますが、基本はほとんど同じです。

「if」のうしろには、必ず条件式を書きます。

条件式の結果が「true」になれば、ifの中の処理が実行されます。

逆をいえば、条件式の結果が「false」の場合はifの中の処理はスキップされるということになります。

では、実際にRubyで書かれたif文を見てみましょう。

コード
# 変数に代入
is_programmer = true

# もし「is_programmer」の中身が「true」だったら
if is_programmer
  puts '結婚しよう!'
end

# 変数に代入
is_programmer = false

# もし「is_programmer」の中身が「false」だったら
if is_programmer
  puts '結婚しよう!(今回は実行されない)'
end

最初のif文は「結婚しよう!」という文字が表示されますが、2つ目のif文は処理が実行されずに次の処理へと進みます。

if文の条件

if文の使い方がわかったところで、条件式の書き方をいくつか紹介します。

コード
# flagに「true」を代入
flag = true

# flagが「true」であれば
if flag
  puts '処理を実行'
end

# flagが「false」でなければ
if !flag
  puts '処理を実行'
end

# flagに「1」を代入
flag = 1

# flagが「1」ならば
if flag == 1
  puts '処理を実行'
end

# flagが「0」でなければ
if flag != 0
  puts '処理を実行'
end

# flagが「0」より大きければ
if flag > 0
  puts '処理を実行'
end

# flagが「1」以下ならば
if flag <= 1
  puts '処理を実行'
end

# flagが「0」以下でなければ
if !(flag <= 0)
  puts '処理を実行'
end

よく使いそうな条件式を書いてみました。

「==」は「等しい」、「!」がつくと「条件が反転」になります。

ちなみに上の条件式はどれも成立するため「true」となり、すべての処理が実行されます。

キツネ

よく使うから理解できるまで何度も見直そう!

if文の中にif文を書く

if文の中にif文を書くことだって出来ちゃいます。

これを「ネストする」といいます。

コード
# 変数に代入
is_programmer = true
exist_girlfriend = true

# is_programmerが「true」であれば
if is_programmer

  # exist_girlfriendが「true」であれば
  if exist_girlfriend
    puts '結婚しよう!'
  end

end

プログラミングをしていれば、if文をネストしたい場面が必ず出てきます。

ですが、ネストする前に「中のifを外に出すことはできないかな?」と考える癖をつけるようにしましょう。

上のようにネストしたif文を書くよりも、以下のように書いたほうがスッキリするはずです。

コード
# 変数に代入
is_programmer = true
exist_girlfriend = true

# is_programmerが「true」かつ、exist_girlfriendが「true」であれば
if is_programmer && if exist_girlfriend
  puts '結婚しよう!'
end

どうですか?見やすいですよね?

ネストしていた条件式を横に並べて1行にし、「&&」で繋いでいます。

「&&」は「かつ」の意味になり、他にも「||」で「または」というものもあります。

これらをうまく活用して、if文のネストをできるだけ減らすようにしましょう。

キツネ

ネストすればするほど見にくくなると覚えておこう!

条件に含まれない場合の処理はelse

if文の条件式に当てはまらなかったとき、処理をスキップするのではなく、別の処理を実行させたい場合があります。

そんなときは「else(エルス)」を使いましょう。

以下が使用例になります。

コード
# 変数に代入
is_programmer = false

# is_programmerが「true」であれば
if is_programmer
  puts '結婚しよう!'

# is_programmerが「true」でなければ
else
  puts '諦めない!'
end

「else」は「条件に含まれなければ」という意味になります。

is_programmerには「false」が代入されているため、ifの条件が不成立となり、elseの中の処理が実行されるのです。

つまり、「諦めない!」が表示ということです。

複数の条件を指定するならelseif

if文の条件式に当てはまらなかったとき、別な条件で比較したい場合があります。

そんなときは「elseif(エルスイフ)」を使いましょう。

だいたいのプログラミング言語では「elseif」なのですが、Rubyの場合は「elsif」なので注意!

コード
# 変数に代入
is_programmer = false
exist_girlfriend = true

# is_programmerが「true」であれば
if is_programmer
  puts '結婚しよう!'

# is_programmerが「true」でない、かつexist_girlfriendが「true」であれば
elsif exist_girlfriend
  puts 'プログラマーになってからプロポーズしよう!'

# どの条件にも一致しなければ
else
  puts '諦めない!'
end

1つ目のifでは条件が一致しないため、次のelseifの条件に移ります。

elsifの条件は成立するため、「プログラマーになってからプロポーズしよう!」が出力されます。

処理が実行されたあとは、elseをスキップして次の処理へと進んでいきます。

まとめ

  • if文は「もし~ならば」の条件式と「~する」の処理で構成されている
  • ifは条件式が「true」になった場合のみ処理を実行する
  • ifの中には色々な条件式を書ける
  • if文の中にif文を書ける(ネスト)
  • 「&&」や「||」を使えば条件式をまとめられる
  • 「else」や「elseif」を使えば条件分岐ができる

if文を使うタイミングはとってもシンプル。

自分の頭に「~のときだけ~したいな」と浮かんだタイミングこそが、まさにif文を書くタイミングです!

ですが、「なんでもかんでもif文にしちゃえばいい」という考え方は良くありません。

if文を書くときは、「このコードは読みやすいか?」ということを常に意識しながら書くようにしましょう。

コードを綺麗に書くこと(リファクタリング)もプログラマーとしての大切なスキルの1つなのです。

テキストのコピーはできません。