Hello Android!
Android開発に限らずですが、
非常によく使われる「条件分岐」と「ループ」について、主に初心者向けに解説しますぜ。
開発の実務においては息を吐くように使うので繰り返し学んで身につけよう!
そもそも条件分岐って?
「条件分岐」とは、特定の条件に基づいてプログラムの流れをつくったり変えたりすること。
たとえば、コンビニでたばこを売る店員さんも「この人提示している身分証が20歳以下ならたばこは売れない」というように、その時の動作を決めてますよね?
これプログラムも一緒で明示的にやる感じです。
①if文
最も基本的な条件分岐は if文
です。
これは、英語そのままの意味で「もし条件が成立したら、この処理を実行する」という意味を持っている。
実装例
val age = 18
if (age >= 18) {
println("あなたは成人です。")
} else {
println("あなたは未成年です。")
}
// 実行結果 -> あなたは成人です。
上記のコードでは、age
という値が18
以上なら成人で、それ以外なら未成年と判断するためのプログラム。
>=
は「以上」という意味で不等号記号
と呼ばれるものです。(なんか中学生のときやったよね)
じゃあif文完全に理解したと思うので以下の条件式を気合いでに実装してみてください。
条件:
・数値が50以上の場合は「50以上です」
・それ以外の場合は「50未満です」
※紙に書いてもKotlinPlayGround使ってもいいです。
KotlinPlayGround↓
https://play.kotlinlang.org/#eyJ2ZXJzaW9uIjoiMi4wLjIwIiwicGxhdGZvcm0iOiJqYXZhIiwiYXJncyI6IiIsIm5vbmVNYXJrZXJzIjp0cnVlLCJ0aGVtZSI6ImlkZWEiLCJjb2RlIjoiLyoqXG4gKiBZb3UgY2FuIGVkaXQsIHJ1biwgYW5kIHNoYXJlIHRoaXMgY29kZS5cbiAqIHBsYXkua290bGlubGFuZy5vcmdcbiAqL1xuZnVuIG1haW4oKSB7XG4gICAgcHJpbnRsbihcIkhlbGxvLCB3b3JsZCEhIVwiKVxufSJ9
はいどうぞ!
・
・
・
・
では、答え合わせです。
例題の答え
val number = 80
if (number >= 50) {
println("50以上です")
} else {
println("50未満です")
}
// 出力結果 -> 50以上です
⇧こんな感じで良いと思います。
②追加条件を加える:else if
複数の条件をチェックしたい場合、else if
を使います。
もしも、更に、、、条件を!!!みたいな感じです。
実装例
val score = 85
if (score >= 90) {
println("優秀です!")
} else if (score >= 70) {
println("合格です!")
} else {
println("もう少し頑張りましょう。")
}
// 出力結果 -> 合格です
⇧この例では、score
が90以上なら「優秀です!」、70以上なら「合格です」、それ以外は「頑張りましょう」と表示できるようにするプログラムです。
んじぁさっきの応用になるのでやってみますか。
以下を実装してみてください
条件:
・数値が50以上の場合は「50以上です」
・数値が80以上の場合は「80以上です」
・それ以外の場合は「50未満です」
はい!いってらっしゃい!
・
・
・
・
良い感じですか?答え合わせです。
例題の答え
val number = 80
if (number >= 50) {
println("50以上です")
} else if (number >= 80) {
println("80以上です")
} else {
println("50未満です")
}
// 出力結果 -> 80以上です
⇧余裕ですか、さすがです。
③複数の条件を使う:論理演算子
if文
では、複数の条件を組み合わせることもできます。
例えば「且つ(AND)」や「または(OR)」のような条件を扱うことが可能です。
簡単に言えば優柔不断になれます。
実装例
val isSunny = true
val isHoliday = true
if (isSunny && isHoliday) {
println("今日はピクニックに行こう!")
}
// 出力結果 -> 今日はピクニックに行こう!
&&
は「且つ(AND)」を意味し、両方の条件が true
の場合に処理が実行されます。
ちなみに「または(OR)」は||
で表します。
もう大体大丈夫ですよね?
では、最後になるので以下のプログラムを作ってみて下さい。
条件:
・天気が晴れで休日であれば「今日は良い天気です」
・天気が悪いけど休日であれば「家でゴロゴロします」
・天気が良いまたは、休日であれば「お出かけの計画を立てよう」
・それ以外は「仕事の日です」
さあどうぞ!
・
・
・
・
若干条件が複雑ですかね?答え合わせの時間です。
例題の答え
val isSunny = true
val isHoliday = true
if (isSunny && isHoliday) {
println("今日は良い天気です")
} else if (!isSunny && isHoliday) {
println("家でゴロゴロします")
} else if (isSunny || isHoliday){
println("お出かけの計画を立てよう")
} else {
println("仕事の日です")
}
// 出力結果 -> 今日はピクニックに行こう!
こんな感じです。
まとめ
今回は、Android開発における基本的な条件分岐を簡単にまとめました。
実際実務ではより複雑な条件でループ処理と組み合わせたりすることもあると思いますが基本を理解していれば難しくはないはずです。
何度も練習しましょう!
ポイントまとめ
-
if文
で条件に応じた動作を設定 -
条件分岐とループを組み合わせて、柔軟なプログラムが書ける
わかりにくい部分や、要望、間違えなどあればコメントくれると嬉しいです。