1 / 13

Scala 入門 ( Java との 基本的な構文 比較)

Scala 入門 ( Java との 基本的な構文 比較). 2012/08/03. Scala とは?. Java プラットフォーム上で動作できるプログラミング 言語 オブジェクト指向 + 関数型言語の組み合わせ 静的型付け 言語 ソース を簡素に記述することができる 言語仕様から説明する と嫌になる人がいそうなのでまずは Java との比較から始めます!. 変数定義. Java の場合、「データ型 変数名 = 初期値」 String tmp = “ Scala 楽しい !”; Scala の場合、「 var 変数 : データ型 = 初期値」

nicki
Download Presentation

Scala 入門 ( Java との 基本的な構文 比較)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Scala入門(Javaとの基本的な構文比較) 2012/08/03

  2. Scalaとは? • Javaプラットフォーム上で動作できるプログラミング言語 • オブジェクト指向+関数型言語の組み合わせ • 静的型付け言語 • ソースを簡素に記述することができる 言語仕様から説明すると嫌になる人がいそうなのでまずはJavaとの比較から始めます!

  3. 変数定義 • Javaの場合、「データ型 変数名 = 初期値」 String tmp = “Scala楽しい!”; • Scalaの場合、「var変数:データ型 = 初期値」 vartmp:String = “Scala楽しい”; • Scalaは型を省略できる(型推論) vartmp= “Scala楽しい”; ↑次に数値を代入するとコンパイルエラー!

  4. 定数 • Javaの場合、finalで定義 String final TEST_KEY = “定数です”; • Scalaの場合、valで定義 val TEST_KEY = “定数です”;

  5. 文末 • Javaの場合はセミコロン String tmp = “Scala楽しい!”; • Scalaの場合はセミコロンがなくてもOK vartmp = “Scala楽しい” もちろん、「;」をつけてもOK vartmp = “Scala楽しい”;

  6. import文 • 基本的には同じ • ワールドカード指定が異なる • Javaの場合は「*」 import java.io.*; • Scalaの場合は「_」 import java.io._;

  7. 関数(メソッド)定義 • Javaでのメソッド public void test(int x) { }// 戻り値なし public int test(int x) { } // 戻り値あり • Scalaでの関数 def test(x:Int) : Unit = { } // 戻り値なし def test(x:Int): Int = { } // 戻り値あり

  8. アクセス修飾子 • JavaのpublicはScalaでは存在しない 【Java】 public void test(int x) 【Scala】 def test(x:Int) : Unit 上記は同じ意味である。つまり、Scalaでは何も指定しないことがJavaのpublicとなる

  9. 関数の戻り値 • Javaの場合はreturnで返却 public int test() { retrun x; } • Scalaの場合はreturn & 最後の値 def test(): Int = { if (x == 2) { return -1 } x // 最後の行も戻り値となる }

  10. 引数のデフォルト値 • Javaには無い機能で関数のデフォルト値を指定できる(PHP等にある機能と同様) def test(name, email) :Unit = { } • Emailに初期値を設定したい場合 deftest(name, email=“test@a.com”) :Unit = { }

  11. 多重ループ • Javaの場合 for (inti = 0; i < 10; i++) { for (intj = 0; j < 5; j++) { } } • Scalaの場合 for (i <- 0 until 10; j <- 0 until 5) { }

  12. forフィルター • Javaの場合 for (inti = 0; i < 10; i++) { if (i == 2) { } } • Scalaの場合 for (i <- 0 to 10 if i == 2) { }

  13. 今回はここまで • まずは簡単な文法について説明 • あまり、長くやると何も覚えてくれなそうなので・・・。 • 次回はクラス定義など少し実践的な内容 • Scalaの独自機能についても説明予定

More Related