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
}