30分でわかる(かも知れない)Scala超々入門! (3/8)
作成:2013-01-10 08:14
更新:2013-01-10 08:14
更新:2013-01-10 08:14
■条件分岐の「if」構文
続いて、基本的な制御構文についてざっと頭に入れていきましょう。まずは、条件分岐です。条件分岐は、ScalaもJavaと同様、「if」を使います。これは以下のように書きます。
・if構文
else以降はオプションであり、不要なら省略することもできます。また複数の文を記述する場合は、{}をつかって、if (○○){……}というように記述します。このあたりは、Javaと全く同じですね。――では、簡単なサンプルを挙げておきましょう。
条件分岐の書き方そのものは、Javaとほとんど変わりありません。が、一つだけ違うのは「Scalaのifは、値を返す」という点でしょう。最後に実行した文の結果を返り値として返すのです。これを利用すると、例えば上のサンプルはこんな具合に書くこともできます。
ここでは、ifの結果をresultに代入しています。構文内では、"偶数です。:" + numといった簡単なテキストの文があり、この結果がそのままresultに代入されているわけです。
・if構文
if ( 条件 )
……trueのときの処理……
else
……falseのときの処理……
else以降はオプションであり、不要なら省略することもできます。また複数の文を記述する場合は、{}をつかって、if (○○){……}というように記述します。このあたりは、Javaと全く同じですね。――では、簡単なサンプルを挙げておきましょう。
object myapp {これは、ランダムに整数を用意し、それが偶数か奇数かを調べて表示するものです。まず、new java.util.RandomでRandomインスタンスを作ります。――あれ? これってJavaのクラスだよな?と思った人。その通り! Scalaは、Java仮想マシンの上で動きます。Javaの環境で動く前提で設計された言語なのです。ですから、Javaのクラスライブラリもすべてそのまま使えるようになっています。ここでは、java.util.Randomと記述していますが、importを記述してクラス名で利用することももちろんできます。
def main(args: Array[String]) {
val rnd = new java.util.Random
val num = rnd.nextInt(100)
if (num % 2 == 0)
println("偶数です。:" + num)
else
println("奇数です。:" + num)
}
}
条件分岐の書き方そのものは、Javaとほとんど変わりありません。が、一つだけ違うのは「Scalaのifは、値を返す」という点でしょう。最後に実行した文の結果を返り値として返すのです。これを利用すると、例えば上のサンプルはこんな具合に書くこともできます。
import java.util._import文を書いて、Randomをクラス名で使えるようにしておきました。importでは、java.util._となっていますが、最後のアンダースコアはJavaのアスタリスク(*)に相当するものです。
object myapp {
def main(args: Array[String]) {
val rnd = new Random
val num = rnd.nextInt(100)
val result = if (num % 2 == 0)
"偶数です。:" + num
else
"奇数です。:" + num
println(result)
}
}
ここでは、ifの結果をresultに代入しています。構文内では、"偶数です。:" + numといった簡単なテキストの文があり、この結果がそのままresultに代入されているわけです。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
●リスト1 object myapp { def main(args: Array[String]) { val rnd = new java.util.Random val num = rnd.nextInt(100) if (num % 2 == 0) println("偶数です。:" + num) else println("奇数です。:" + num) } } ●リスト2 import java.util._ object myapp { def main(args: Array[String]) { val rnd = new Random val num = rnd.nextInt(100) val result = if (num % 2 == 0) "偶数です。:" + num else "奇数です。:" + num println(result) } }
※関連コンテンツ