今回解説するのは、どのプログラミング言語でも必ずと言っていいほど登場する「if文」について!
if文は条件分岐を行うための構文ですが、しっかり使い方を押さえて正しく利用できていますか?初心者向けに詳しく基本を解説するので、if文に対する認識がまだ甘いなと感じる方は、ぜひこの記事を通してif文を完璧に使いこなせるようになりましょう!
目次
if文とは
if文は条件分岐を行うための構文
まずはif文について、基本的な情報を学んでいきましょう。if文は、その名の通り「処理の条件分岐」を行うために使用する構文です。
例えば2種類の処理方法があり、それぞれ商品の価格で処理を分けるとします。商品は価格が2000円の商品Aを仮定しました。
処理b:商品価格が1000円以上であれば、割引率20%を適用する
言語ごとに文法が異なる
if文はほとんどのプログラミング言語に備わっている機能です。しかし言語ごとに書き方が少し異なります。他の言語での文法をそのまま使用しても、エラーが発生してしまうので注意してください。
ここでは先ほどの条件を使用し、Python、JavaScript、Javaでの書き方をそれぞれ見てみましょう。
Python
Pythonは機械学習やAIなどに特化した言語で、今最も注目されている言語です。文法が他の言語よりも単純で分かりやすいのが特徴です。
1 2 3 4 5 6 7 8 9 10 11 |
# 商品Aの価格設定 product_value = 2000 # 合計金額を初期化 total = 0 # 商品価格が1000円未満の時 if product_value < 1000 : total = product_varue * 0.9 # それ以外の時 else : total = product_value * 0.8 |
JavaScript
JavaScriptは動的なWebページを作成する際に使用される言語で、HTMLのscriptタグ内に記載します。
1 2 3 4 5 6 7 8 9 10 11 12 |
// 商品Aの価格設定 var product_value = 2000; // 合計金額を初期化 var total = 0; // 商品価格が1000円未満の時 if (product_value < 1000) { total = product_varue * 0.9; // それ以外の時 } else { total = product_value * 0.8; } |
Java
Javaは安定的な人気を誇る言語で、現在使用されているアプリケーションのほとんどがJavaによって作られていると言っても過言ではありません。汎用性が高く、需要も安定的ですが、初心者には少し理解が難しい言語です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
public class Main { public static void main(String[] args){ //商品Aの価格設定 int product_value = 2000; //合計金額を初期化 double total = 0; //商品価格が1000円未満の時 if(product_value < 1000) { total = product_value * 0.9; //それ以外の時 } else { total = product_value * 0.8; } } } |
if文の書き方
例としてPython、Java、JavaScriptでのif文の書き方を紹介しましたが、さらに詳しく条件分岐の方法を見ていきましょう。ここではJavaScriptの文法を採用します。
if
まずは土台となるif文です。if文は「もし~だったら」という意味を持ち、条件に当てはまる場合にのみif文内に記述された処理が実行されます。
1 2 3 |
if(条件式) { 処理内容; } |
else if (elif)
if文で条件に一致しなかった場合、「そうでなければ、もし~だったら」というように、別の条件を付け加えることもできます。それがelse if文です。言語によってはelifと省略されるなど、文法のミスに注意が必要です。
もちろんif文の条件に一致しない場合の処理なので、if文の後に記述しなければなりません。
1 2 3 4 5 |
if(条件式) { 処理内容①; } else if(条件式) { 処理内容②; } |
else
条件①でもなく、条件②でもなく、条件③でもない場合に「~と処理する」という文を書くのがelse文です。こちらはif文やelse if文と違い、条件文を書いてはいけません。
どの条件にも当てはまらない場合の処理なので、一番最後に記述します。
1 2 3 4 5 6 7 |
if(条件式) { 処理内容①; } else if(条件式) { 処理内容②; } else { 処理内容③; } |
if文は実際にどこで使用する?
では実際にif文はどんな場面で使用されているのでしょうか?実はif文は単体で使用されている場合は少なく、他のメソッド(関数)と合わせて利用されることが殆どです。
ここでは実際にif文を使用して、実用的なプログラムを作成してみましょう。少し複雑ですが、JavaScriptでメソッド(関数)を作成し、HTMLでそれを利用して出力を行います。
入力された文字が半角数字かチェックする
ではフォーム内に入力された文字が半角数字かをチェックするJavaScriptを作成してみましょう。JavaScriptはhtml内のheadタグ内に、scriptタグを設置して記述します。
- formタグを設置し、name属性で名前を付ける
- formタグ内にinputタグを設置し、type属性でtextを指定。name属性で名前を付ける
- scriptタグ内にJavaScriptを使用して関数を作成する
- inputタグ内にonChange属性を指定し、作成した関数を導入する
以上が手順になります。JavaScriptではfunctionという宣言を使用して、自由に関数を作成することができます。
valueという変数にはdocument.formの名前.inputの名前.valueを使用して、インプットタグ内の入力値を取得、代入しています。そしてその変数をif文の条件分岐にかけ、半角数字出ない場合は警告として「半角数字で入力してください」という表示が出されるようになっています。
See the Pen
JS 半角数字チェック by rabbittyu (@rabbittyu)
on CodePen.
文字数制限を設ける
JavaScriptで関数を作成し、それをフォーム内で活用するという技術を応用すると、実に様々な機能を作成するとができます。今度は文字数制限を設けてみましょう。
ここで使用するのは、変数の文字数を取得するlengthプロパティです。countという文字数カウント用の変数を別に用意し、valueに代入された文字の文字数を数えています。
if文の条件分岐では、3文字以上10文字以下の入力のみを受け付けるように設定されています。
See the Pen
JS 文字数制限 by rabbittyu (@rabbittyu)
on CodePen.
まとめ
今回はif文について紹介しました。if文はプログラミングを勉強するうえで、必ず必要になる文法です。どの言語を勉強するにしても、必ず通る道なので逃げてだという方は、何度もコードを書いて苦手を克服するのが良いでしょう。
参考文献:
Pythonのif文による条件分岐の書き方
【Java入門】if文って何?条件分岐(else、and・or・not)の使い方
条件分岐 – JS primer