kotlin
ScalaやGroovyなどの言語と同様に、Javaバイトコードにコンパイルされて、JVMで動作する静的型付けのオブジェクト指向
静的なnull安全が保証されている、NullPointerExceptionを防ぐため、@Nullable 型と @NonNull 型が組み込まれている
Javaよりコードが短く簡潔で、Javaのコードを呼び出せる
Uber、Evernote、NetflixなどがKotlinを使用
### 1. Hello World
fun main(args: Array<String>){ println("Hello world") }
### 2. 変数
// -val 再代入できない // -var 再代入できる // なるべくvalで宣言し、必要なところのみvarで宣言する fun main(args: Array<String>){ val msg: String = "Hello world" println(msg) }
再代入はできない
fun main(args: Array<String>){ val msg: String = "Hello world" println(msg) msg = "Hello world 2" println(msg) }
Val cannot be reassigned
再代入の場合はvarを使う
fun main(args: Array<String>){ var msg: String = "Hello world" println(msg) msg = "Hello world 2" println(msg) }
### 3. 基本型
Double: 64ビット浮動小数点
Float: 32ビット浮動小数点
Long: 64ビット符号付き整数
Int: 32ビット符号付き整数
Short: 16ビット符号付き整数
Byte: 8ビット符号付き隻数
Char: 1文字を表す文字列
Boolean: 真偽値
String: 文字列
数値定数
val digits = 1234 // 10進数 val longInt = 1234L // Long val hex = 0x1F // 16進数 val bin = 0b00001011 // 2進数 val dbl = 1234.5 // デフォルトはdouble val withE = 123.4e10 // 123.4 * 10^10 val flt = 123.4f // Float
文字と文字列
// Char型はシングルクォート val c = '0' val n = '\n' val u = '\uFF00' // ダブルクォートの文字列も使える val s = "Hello, world!\n" val text = """ 文字列を記入する。 インデントもそのまま。 """ // 文字列の中に変数を埋め込む val i = 10 val str = "i = $i, i x 2 = ${i * 2}" // stringはimmutableで構成要素はchar val c0 = str[0] for (chr in str){ println(chr) }
fun main(args: Array<String>){ val msg: String = "hello world" val c: Char = 'a' val i: Int = 100 val l: Long = 55555555555555L val d: Double = 234.523 val f: Float = 12.344F val flag: Boolean = true }