libro
www.tuyano.com
初心者のためのPlay Framework入門

30分でわかる(かも知れない)Scala超々入門! (3/8)

作成:2013-01-10 08:14
更新:2013-01-10 08:14

■条件分岐の「if」構文

続いて、基本的な制御構文についてざっと頭に入れていきましょう。まずは、条件分岐です。条件分岐は、ScalaもJavaと同様、「if」を使います。これは以下のように書きます。

・if構文
if ( 条件 )
    ……trueのときの処理……
else
    ……falseのときの処理……

else以降はオプションであり、不要なら省略することもできます。また複数の文を記述する場合は、{}をつかって、if (○○){……}というように記述します。このあたりは、Javaと全く同じですね。――では、簡単なサンプルを挙げておきましょう。
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)
    }
}
これは、ランダムに整数を用意し、それが偶数か奇数かを調べて表示するものです。まず、new java.util.RandomRandomインスタンスを作ります。――あれ? これってJavaのクラスだよな?と思った人。その通り! Scalaは、Java仮想マシンの上で動きます。Javaの環境で動く前提で設計された言語なのです。ですから、Javaのクラスライブラリもすべてそのまま使えるようになっています。ここでは、java.util.Randomと記述していますが、importを記述してクラス名で利用することももちろんできます。

条件分岐の書き方そのものは、Javaとほとんど変わりありません。が、一つだけ違うのは「Scalaのifは、値を返す」という点でしょう。最後に実行した文の結果を返り値として返すのです。これを利用すると、例えば上のサンプルはこんな具合に書くこともできます。
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)
    }

}
import文を書いて、Randomをクラス名で使えるようにしておきました。importでは、java.util._となっていますが、最後のアンダースコアはJavaのアスタリスク(*)に相当するものです。

ここでは、ifの結果をresultに代入しています。構文内では、"偶数です。:" + numといった簡単なテキストの文があり、この結果がそのままresultに代入されているわけです。

※プログラムリストが表示されない場合

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)
    }

}
※関連コンテンツ

「初心者のためのPlay Framework入門」に戻る