【Kotlin入門】制御文〜whileを使ってみる

スポンサーリンク
Kotlin

こんにちは。

今回は、制御文のwhile文を使ってみます。
while文とは、「ある条件が満たされているうちは作業を繰り返す」
処理を行います😁
そして、whileの場合は、その条件を処理の前に確かめる書き方と
処理した後に確かめる書き方があります。

今回は、対象の数字がどの11の倍数に近いかを求める
ロジックを使ってみてみましょう。

こちらは、処理の前に確かめる書き方です。
while内で、変数xと11の倍数のy*11を引き算してその差を
みています。
差が11ない場合は、trueと判定され、変数yに1が追加され、
while内の判定に戻ります。
この処理は、差が11より下になるまで延々と繰り返します😀

val x = 223455

var y = 1

// xの数字と11の倍数の差が、11以上ある場合はtrueとなる。
while ((x – (y*11)) >= 11) {

// 条件に一致する場合は、yに1を足す。
y++

}

println(“${x}は、11の倍数${y*11}と同様か大きいかつ近い数字です。”)

↓ では、実行してみましょう。
  変数xが22355に対して、11の倍数223454が近似値として
  出力されています。
制御文3−1

次は、処理した後に確かめる書き方です。
これは、「do..while文」で書きます。

doの処理を実行してから、while内で判定しています。
この判定がtrueであれば処理を継続し、falseであれば
直前のdo内の処理は無しとなり、「do..while文」処理を
終了します👽

val x = 45672

var y = 0

do {

// 条件に一致する場合は、yに1を足す。
y++

// xの数字と11の倍数の差が、11以上ある場合はtrueとなる。
} while ((x – (y*11)) >= 11)

println(“${x}は、11の倍数${y*11}と同様か大きいかつ近い数字です。”)

↓ 実行すると・・・。
  同様に近似値が出力されます。
制御文3−2

さらに、この「do..while文」は以下のように、
while内の判定処理を、do内に置くこともできます。
こうするとwhile内はまさにtrueかfalseの判定をするだけ
なのでスッキリしますね👌
なお、変数kekkaには、変更不可の「val」が付いていますが、
繰り返しのたびに新しい変数として定義されているので、
エラーにはなりません。

val x = 3256190

var y = 1

do {

// 条件に一致する場合は、yに1を足す。
y++
// xの数字と11の倍数の差を出す。
val kekka = x – (y*11)

// 差が、11以上ある場合はtrueとなる。
} while (kekka >= 11)

println(“${x}は、11の倍数${y*11}と同様か大きいかつ近い数字です。”)

↓ 実行しましょう。
  同様に出力されます。
制御文3−3

次回は、制御文の応用をみてみようと思います。

今回はここまで🤚

では、また次回。

 

【Kotlin入門一覧はこちら】

コメント

タイトルとURLをコピーしました