見出し画像

プログラム初心者が”DEV.LAB"を受講してどこまで成長できるかの記録 その5【第4章基本構文ー条件分岐】【ユーザー体験】

DEV.LAB受講生のayakaです:)
今回は第4章 基本構文ー条件分岐についてです。

第4章基本構文- 条件分岐の内容は以下となっています。

  • 制御構造と制御文

  • 条件分岐

  • if文のネスト

  • if-else文

  • if-else if-else文

  • switch文

  • 演算子(関係演算子・論理演算子・条件演算子)

授業ポイントノート

順次構造

忘れがちになりそうですが、プログラミングは上から順番に処理をしていくもので、どんなに複雑でも細かい単位で1構造ずつ上から解析すれば読み解けるようになるということを、改めて第4章の初めにメンションをされています。章を重ねるごとに内容は複雑になってきますが、
基礎は常に忘れずに学習を重ねていかないといけませんね!

条件分岐

第4章では主に5種類の条件分岐について習いました。
私たちが普段何気なく判断していることをプログラミング上では
ちゃんとルール化してあげないと、判断ができません!

① if文(条件判断文)
まずは一番シンプルなif文で、例えば
「もし、雨が降っているなら、家から出ない」
を、プログラミング化すると、以下のようになります。

引用:DEV .LAB第4章授業ビデオより

if文の注意点として、{ } の省略をしないということを授業でおっしゃられてました。その理由としては、1行処理の場合、省略できるが読み間違いが発生したり、可読性が悪くなって不具合調査時の妨げにもなることがあるので
開発現場では推奨されていないからみたいです。

授業内では、このように推奨されていないこと、注意点なども
丁寧に教えてくださるので、実際の開発現場に出てもミスを減らすことに
繋がってくるのではないかと思います!

if文のネスト 
条件1も正しく、条件2も正しかった場合処理がされる
プログラミング上では下記の図のようになります。

引用:DEV .LAB第4章授業ビデオより


if-else文 
条件を満たす場合の処理と、満たさない場合の処理のことで、
条件を満たす場合は、if文以下のブロック、
満たさない場合はelse文以下のブロック
に記載します
※可読性を良くするため、処理2の部分は省かない

引用:DEV .LAB第4章授業ビデオより

例えば、「もし雨が降っていたら傘をさして出かける。雨が降っていなかったら、自転車で出かける。」をプログラミング化すると、下記のようになります。

引用:DEV .LAB第4章授業ビデオより


if-else if-else 文
複数の条件ごとに異なる処理を実行させることができる
条件1を満たす場合は、if文以下のブロック
条件2を満たす場合は、else if文以下のブロック
条件を満たさない場合は、else文以下のブロック
に記載する。

引用:DEV .LAB第4章授業ビデオより

例えば、「もし、雨が降っていたら傘をさして出かける。雨が降っておらず曇り空だったら、傘を持って出かける。上記以外だったら自転車で出かける」という文をプログラミング化すると、下記のようになります。

引用:DEV .LAB第4章授業ビデオより


switch文
複数の条件どこに個別の処理を実行する。
if-else if-else式と似ていていますが、その違いは
- switch文は値が等しい場合しか比較ができない
- switch文はfloat, double, boolean型の比較ができない(式で求めた文字型か
整数値型でないといけないという制約がある)
- switch文はnull値を使用できない
というものがあります。
また、授業内で注意点として、
switch文は「条件に一致するcase文まで処理を飛ばす」ので、
目的の処理が終わった後、break文を入れ処理を中断しないと続きの処理を実行してしまうので、忘れずにbreak文を入れるようにしましょう!

演算子

授業では3つの演算子「関係演算子」「論理演算子」「条件演算子」を
カバーしました。

関係演算子
比較演算子とも呼ばれていて、
式で評価されるもので、条件を満たす場合はtrueになります。

引用:DEV .LAB第4章授業ビデオより
引用:DEV .LAB第4章授業ビデオより

関係演算子の注意点として、左辺と右辺が等しいという記述形式について
数学だと「=」、Javaだと「==」となるので、
数学で使われている「=」はプログラミング上だと代入で
別の意味になってしまうのでしっかりと区別して覚えておく必要がある
とのことです!

論理演算子
2つの条件を組み合わせて、より複雑な条件を使う場合に論理演算子を使います。例えば…

引用:DEV .LAB第4章授業ビデオより
引用:DEV .LAB第4章授業ビデオより

この授業で初めて知ったのですが、「|| 」は「パイプ」と呼ぶみたいです!
それはさておき、論理演算子は理系ではない私にとって
文字だけではちょっと理解しずらいなと思っていたら、
下記のように図でも説明してくださっていてとても助かりました^^

引用:DEV .LAB第4章授業ビデオより

評価は左辺から行うのがルールで、
&& は左辺がtrue の場合のみ右辺の評価をし(false の場合は評価しない)、
|| は左辺がfalseの場合、右辺の評価をします。
授業では上記の説明を下記のように説明をしてくださっています!
実際にこのように例をたくさん使って説明をしてくださるので
文字だけの説明よりも理解しやすいです。

引用:DEV .LAB第4章授業ビデオより

条件演算子 
ある値と等しい場合、特定の値を代入し等しくない場合にはまた別の値を代入する。

引用:DEV .LAB第4章授業ビデオより

上記の図で左は条件演算子で、右は条件分岐をするときのコードになるのですが、どちらとも同じ内容みたいです。
ただ、初めは右の長い方を使ってプログラミングをして、
プログラミングの仕組みを理解して慣れてきたら、
省略化された条件演算子を使うことを授業内でおすすめされていました。

条件演算子のことで、「条件」「true時の式」「false時の式」の3つの項目からなる演算子を三項演算子というみたいです!

終わりに…
今回の第4章 基本構造ー条件分岐では数学で見たことがあるような記号を使ったりしましたが、Javaのプログラミングでは意味が違ってくるので
しっかりとプログラミングでのルールを覚えていく必要がありますね!
また、内容が複雑になっている分、わかりやすい例や、
図をたくさん使って説明をしてくださっているので、
理系じゃない私にとっても、とても理解しやすい授業でした!

私が通っているDEV.LAB(ディラボ)とは…
”一生使えるスキルを学ぶ”ことができる 未経験から現場での活躍を目指す
超実践OJT開発型をおこなっているプログラミングスクールです。
Java × Springを現役エンジニアから学ぶことができ充実したサポートもあります。


この記事が気に入ったらサポートをしてみませんか?