クラス定義はこんな感じになる。

class hoge {
    var hoge1:String = "hoge1";
    private var hoge2:String = "hoge2"

    fun printHoge1() {
        println(hoge1)
    }

    fun printHoge2() {
        println(hoge2)
    }
}

hoge1はJavaで言うところのフィールドではなくって、プロパティといってこそっとget/setメソッドが作られている。
メソッドの定義は、関数とおなじ。

つぎに使うところは、こうなる。

fun main(args:Array<String>) {
    // hoge()の前にnewはいらない。
    val obj = hoge()

    obj.hoge1 = "1234"
    obj.printHoge1()

//    obj.hoge2 = "3333"    hoge2はプライベートなんでエラーになる。
    obj.printHoge2()
}

コメントにも書いているが、インスタンス生成のところでnewがいらない。
ちょー基本的な部分はこんな感じか。

なんかペースあがんねーw


このエントリーをはてなブックマークに追加 Clip to Evernote
ブログランキング・にほんブログ村へ
にほんブログ村

関数の定義は、こんな感じになる。

fun sum(a:Int, b:Int):Int {
    return a + b
}

funで始まって、関数名。引数は()内にカンマ区切りで名前:型のように書く。最期に戻り値の:型を書く。

これは、こんなふうにも書けるらしい。

fun sum(a:Int, b:Int) = a + b

戻り値の型は、型推論が働いているらしく、書かなくてもいい。(書いてもいい)

呼び出すところはこんな感じになる。他のC言語っぽい文法の言語と同じ感じだ。

fun main(args:Array<String>) {
    val s = sum(1 , 2)
    println("1 + 2 = ${s}")
}

また、呼び出すところで引数名=値と指定すると、引数の順番関係なく指定できる。

fun hoge(a:String, b:String, c:String) {
    println("a = ${a}")
    println("b = ${b}")
    println("c = ${c}")
}

fun main(args:Array<String>) {
    hoge(c="hoge3",
            a="hoge1",
            b="hoge2")
}

実行結果は、

a = hoge1
b = hoge2
c = hoge3

となる。


このエントリーをはてなブックマークに追加 Clip to Evernote
ブログランキング・にほんブログ村へ
にほんブログ村

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
        $

このエントリーをはてなブックマークに追加 Clip to Evernote
ブログランキング・にほんブログ村へ
にほんブログ村

↑このページのトップヘ