1
/
5

if文、三項演算子についてまとめました!

そもそも、if文とは?

if文とは?と聞かれると、どんなイメージが湧きますか?
条件分岐によって、異なる処理を行うもの。

と言ったイメージかと思います。

今回はプログラミングの基本中の基本、if文と参考演算子について学んでいきましょう!


生成AIによるif文のイメージ、結構、的を射てますね。綴りはおかしいけど。


ということで、

まずは、if文とはなんなのか?をみんな大好き「IT用語辞典」で調べてみましょう。


if文(if statement)とは、多くのプログラミング言語に用意されている、命令の流れに条件分岐を設定するための構文。記述した条件が満たされた場合と満たされない場合の二つに処理の流れを分岐させ、それぞれ異なる処理を実行させることができる。
引用 https://e-words.jp/w/if%E6%96%87.html


ついでに、三項演算子についても、

三項演算子(ternary operator)とは、三つの項(被演算子)を用いて一つの結果を得る演算子。数学には様々な三項演算子があるが、プログラミングの分野では単に三項演算子といえば条件式の真偽に応じて二つの値のいずれかを返す条件演算子のことを指すことが多い。
引用 https://e-words.jp/w/%E4%B8%89%E9%A0%85%E6%BC%94%E7%AE%97%E5%AD%90.html

、、、ということです


なるほどわからん!

ということで、もう少し深掘っていきましょう

少しでも「if文、三項演算子、興味あるな。」と思ったら、最後まで読んでいってくださいね!


なぜif文を使うのか?

そもそもif文ってどんなのか?

がわからないとイメージしにくいかと思いますので、

サンプルコードを作成してみました

$age = 20; // ユーザーの年齢を設定

if ($age < 18) {
echo "未成年です。";
} elseif ($age == 18) {
echo "ちょうど18歳です。";
} else {
echo "成人です。";
}

非常にシンプルですね。

$ageに代入されている値が、20なので、この場合は「成人です。」がechoされることになります。

$ageの値が変わると、それに応じて出力される値が変わります。

便利そうですね!

では、次にもっと複雑なif文を見てみましょう。

if文の「ネスト」です。

if ($age >= 18) {
if ($nationality == "Japanese") {
echo "成人です。日本国籍をお持ちです。";
} else {
echo "成人ですが、日本国籍ではありません。";
}
} else {
if ($nationality == "Japanese") {
echo "未成年です。日本国籍をお持ちです。";
} else {
echo "未成年で、日本国籍でもありません。";
}
}

、、、どうでしょうか?

少し頭がこんがらがってきましたね!

ではさらにネストされたif文も見てみましょう

if ($age >= 18) {
if ($nationality == "Japanese") {
if ($profession == "Doctor") {
echo "成人です。日本国籍で、医師です。";
} else {
echo "成人です。日本国籍ですが、医師ではありません。";
}
} else {
if ($profession == "Doctor") {
echo "成人ですが、日本国籍ではなく、医師です。";
} else {
echo "成人ですが、日本国籍ではなく、医師でもありません。";
}
}
} else {
if ($nationality == "Japanese") {
if ($profession == "Doctor") {
echo "未成年です。日本国籍で、医師です。";
} else {
echo "未成年です。日本国籍ですが、医師ではありません。";
}
} else {
if ($profession == "Doctor") {
echo "未成年で、日本国籍ではなく、医師です。";
} else {
echo "未成年で、日本国籍でもなく、医師でもありません。";
}
}
}

、、、わけがわからなくなってきましたね

このようにして、複数の条件が含まれてくるときも、if文のネストを行うことで、

それぞれの条件に対しての分岐を行うことができるというわけです


三項演算子とは?

if文の代替として使用される三項演算子。

基本構文は以下のようになります

condition ? exprIfTrue : exprIfFalse;

これだけじゃイメージしにくいかと思いますので、

以下のサンプルコードを見ながら確認していきましょう

var age = 26;
var beverage = age >= 21 ? "ビール" : "ジュース";
console.log(beverage); // "ビール"
引用 https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Operators/Conditional_operator#%E8%A9%A6%E3%81%97%E3%81%A6%E3%81%BF%E3%81%BE%E3%81%97%E3%82%87%E3%81%86


ここの部分が三項演算子になっています

age >= 21 ? "ビール" : "ジュース";

この場合は「ageが21以上であれば、"ビール"を出力、それ以外であれば、"ジュース"を変数に格納する。」ということになります

そして、console.logで格納された値を出力しているというわけです

「if文と同じことしてるんじゃないか?」と思ったことでしょう

そうなんです、同じことをしてるのです。なので、

var age = 26;
var beverage;

if (age >= 21) {
beverage = "ビール";
} else {
beverage = "ジュース";
}

console.log(beverage); // "ビール"

このように同じ文を作成することができます


まとめ

if文と三項演算子について、少しイメージがついたでしょうか?

プログラミングにおいて、非常に重要になってくることは、言わずもがな。

この場合はこの処理、別の場合は別の処理、、、

非常に使用頻度が高い文法なので、是非マスターしておいてくださいね!

今回は、if文と三項演算子は同じことができる!としていましたが、
正確には、別のものです。

非常にわかりやすくまとめている記事がありましたので、是非見てみてください

三項演算子は悪か?
https://qiita.com/stkdev/items/cbb83cbd9921b9f755a4

三項"演算子"なので、"+"とか"<="とかと同じ括りとして考えるようですね。


奥が深い!!


この記事が、少しでも参考になってもらえたら幸いです!

興味が出たら、ぜひ以下のリンクから応募ボタンからエントリーしてみてくださいね!

会社ページリンク

https://www.wantedly.com/companies/company_5445568


良かったら、記事上にある、「いいね!」と、SNSへのシェアもよろしくお願いします!励みになります!


株式会社ウォーカーからお誘い
この話題に共感したら、メンバーと話してみませんか?
株式会社ウォーカーでは一緒に働く仲間を募集しています

同じタグの記事

今週のランキング

佐藤 優生さんにいいねを伝えよう
佐藤 優生さんや会社があなたに興味を持つかも