こんにちは。
今回も、前回に引続き、関数をみていきます。
前回は使用しなかった引き数と戻り値を使っていきます😁
まずは引き数を見てみましょう。
以下は、前回ではgetDivision関数内で定義していた変数xを
引き数として、呼び出す時にセットできるように変更しています。
書き方は、(データ型:変数名)です。
fun getDivision(x:Int) {
println(“${x}を割ります。”)
// 2〜5を一つずつ変数yにセット。
for (y in 2..5) {
// 変数xを変数yで割り、割り切れる場合true
if ((x % y) == 0) {
println(“${y}で割り切れる。”)
} else {
// 割り切れない場合、変数yを出力
println(“${y}で割り切れません”)
}
}
// 戻り値なし
return
}
そして、main関数の処理です。
2回getDivision関数を呼んでいますが、引き数は30と40と
変えています。
fun main(args: Array<String>) {
println(“処理開始ーーーー”)
// 関数を呼び出す。
getDivision(30)
getDivision(40)
println(“ーーーー処理終了”)
}
↓ 実行してみましょう。
引き数30と40の場合の2回getDivision関数の処理が
行われているのが分かります。
次は、戻り値をみてみましょう。
getDivision関数の7行目を変えています。
doDivision関数を新たに作り、変数xとyを渡しています。
そして、if文の中に入っているので、
戻り値はBoolean型(tureかfalseか)ということになります😞
fun getDivision(x:Int) {
・・・・・(処理略)・・・・・
// 2〜5を一つずつ変数yにセット。
for (y in 2..5) {
// 変数xを変数yで割り、割り切れる場合true
if (doDivision(x,y)) {
・・・・・(処理略)・・・・・
}
こちらが、doDivision関数のロジックです。
割り算の処理と余りの有無判定をこちらに持ってきています。
(この書き方が合理的かというより今回は勉強として
書いていますのであくまで参考までに🙄)
関数名の前には同様に「fun」を定義しています。
関数名の後には()内に引き数のxとy、そしてその後ろには
戻り値のデータ型を「Boolean」と定義しています。
fun doDivision(x:Int,y:Int):Boolean {
var hantei:Boolean = false
if((x % y) == 0) {
hantei = true
}
// 変数yを出力
print(“${y}”)
return hantei
}
最後に、returnの後ろに書いているのはBoolean型の変数です。
そしてmain関数は上記と同様です。
実行してみましょう。
同様に出力されるはずです。
引き数と戻り値を使用すると、処理の幅がグッと広がります✌
今回は、ここまで🤚
では、また次回。