0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Android開発における条件分岐とループを理解しよう

Posted at

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文 で条件に応じた動作を設定

  • 条件分岐とループを組み合わせて、柔軟なプログラムが書ける


わかりにくい部分や、要望、間違えなどあればコメントくれると嬉しいです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?