Referenceの日本語訳。複数の記事に分けていて、この記事はBasic章に相当する。一気にざっと文法全体を確認したい場合は「30分で覚えるKotlin文法」を用意したのでそちらをどうぞ。英語をそのまま訳したものはどうしても分かりにくくなりがち。ここでは公式リファレンスそのままにこだわってなくて、内容を理解した上で適宜表現を変えたり補足したり省略したりしている。Started章から訳されてる。複数の記事に分けているのでここに全体像のリンクを貼っておく。いうのが説明に出てくる。いうものが用意されている。その他の構文は後ほど。構文も含めてSwiftでのOptionalと同様のもの。基本型Kotlinでは全てがプロパティやメソッドを持つオブジェクト。実際には速度的な観点からビルトイン型もあるが、それらも利用者からは普通のクラスのように見える。数値の扱いはJavaに近いが全く同じではない。数値は暗黙の型変換が行われず、記法も少し違う場合がある。Nullableやジェネリクスでは、数値はboxingされる。==は構造の等価性の比較。==はJavaでいうequalsメソッドによる比較。小さい型は大きい型のサブ型ってわけじゃない。こんな感じで問題が発生する。〜だったら的な仮想コード。Longのequals()がもう一方の型もLongかチェックするからなんですね〜そんなわけで小さい型は大きい方に暗黙的に変換されない。全ての数値型は次の型変換メソッドを持っている。Char暗黙の型変換がないことは型推論と算術演算子のオーバーロードによりほとんど気にならない。LongがIntを受け取るplusメソッドを用意している。数値に対して標準的な算術演算子が利用できる。演算子は実際には適切なクラスのメンバが呼び出される1。詳細は演算子オーバーロードの章で説明する。ビット演算には特別な記号は割り当てられていないが、次のように挿入形式で使える関数がある。0x000FF000IntとLongには以下のビット演算がある。文字型はChar、もうわかってると思うけど暗黙の型変換はない。明示的にInt型に変換できる。