10進整数は、123のようにLong型は大文字のLを付ける。123L
16進整数は、0x0a
2進整数は、0b0011
64ビット浮動小数点数は、123.4、123.4e10
32ビット浮動小数点数は、fや大文字のFを付ける。123.4f

数値を見やすくするために_(アンダースコア)を使用できる。

val hoge = 1_000_000

文字(Char)は、'A'
真偽値は、true、falseをとる。
文字列は、"ABC"

文字列リテラルは、いろいろあるんでもーちっと詳しく書く。
基本、"(ダブルクォーテーション)で囲う。文字列、文字で特殊文字(改行とか)を\(バックスラッシュ)+1文字で表せる。CやJavaなんかと同じ感じだ。エスケープ文字は、\t、\b、\n、\r、\’、\“、\\、\$なんかがある。Unicodeのエスケープ文字は\uFF00みたいに書く。

"(ダブルクォーテーション)を3つで囲うと、改行とかエスケープ文字がそのまま文字列になる。

val hoge = """
      hogehoge\n
   hoge"""
println(hoge)

実行すると、


      hogehoge\n
   hoge

こんなふうに表示される。

文字列テンプレート

文字列内に変数や式を書くと、変数の値や計算した結果が文字列に埋め込まれる。
単純な変数値の場合は、$に変数名、計算式は$のあとの{}ないに書く。

    val hoge1 = 1
    val hoge2 = "1234"

    println("$hoge1, ${hoge2.length}, ${1 + 2}")

実行するとこんな感じ。

1, 4, 3

これは、"(ダブルクォーテーション)を3つで囲う場合でも使えて、エスケープ文字が使えないんで文字列に$を含めたい場合は${'$'}とする。

    val hoge3 = """
        $hoge1
        ${hoge2.length}
        ${'$'}"""
    println(hoge3)

実行するとこんな感じ。


        1
        4
        $