===Install===
[[https://kotlinlang.org/docs/tutorials/command-line.html Command Line]]
====SDKMAN====
*http://sdkman.io/
}
fun main(args: Array<<String>>) {
println(sum(1,2))
println(sum2(3,4))
}
=====実行=====
PS> > kotlinc Test01.kt PS> > kotlin sample.Test01Kt
3
7
package sample
fun main(args: Array<<String>>) {
// val:読み取り専用
val a: Int = 1 // 即時割り当て
package sample
fun main(args: Array<<String>>) {
// 文字列はテンプレート式を含むことができる
// テンプレート式は、$で始める
}
=====実行=====
PS> > kotlin sample.Test03Kt
a is 10
abc.length is 3
fun maxOf(a: Int, b: Int): Int {
if (a > > b) {
return a
} else {
// if を式として利用
fun maxOfExpression(a: Int, b: Int) = if (a > > b) a else b
fun main(args: Array<<String>>) {
println(maxOf(3,5))
println(maxOfExpression(6,8))
}
=====実行=====
PS> > kotlin sample.Test04Kt
5
8
===nulableとnullチェック===
<<blockquote>>ターミナルで、kotlinc とタイプすると、REPLが起動する。終了には、:quit<</blockquote>>
*参照は、nullが設定可能な場合、明示的に nullableとマークする必要がある
>>> >>> var a: Int? =null >>> >>> a
null
*マークしないとエラー
>>> >>> var a: Int = null
error: null can not be a value of a non-null type Int
var a: Int = null
}
fun main(args: Array<<String>>) {
println(getStringLen("abc"))
println(getStringLen(123))
}
=====実行=====
PS> > kotlin sample.Test05Kt
3
null
package sample
fun main(args: Array<<String>>) {
var items = listOf("a", "b", "c")
for (item in items) {
}
=====実行=====
> > kotlin sample.Test06Kt
a
b
===whileループ===
var index = 0
while(index < < items.size) {
println("item[$index] is ${items[index]}")
index++
fun describe(obj: Any?): String =
when(obj) {
1 -> > "One" "Hello" -> > "Greeting" is Long -> > "Long" !is String -> > "Not a string" else -> > "Unknown"
}
fun main(args: Array<<String>>) {
val items = listOf("Hello",1,9999999999,10.1,"hoge")
for(item in items) {
}
=====実行=====
PS> > kotlin sample.Test07Kt
Hello is Greeting
1 is One
*https://qiita.com/AAkira/items/3d5b694d488fe029d7b9
when {
hoge == 0 -> > {
println("0")
}
hoge == 1 || hoge == 2 -> > {
println("1, 2")
}
else -> > {
println("else")
}
package sample
fun main(args: Array<<String>>) {
for (x in 1..3) {
println("iteration $x")
}
=====実行=====
PS> > kotlin sample.Test08Kt
iteration 1
iteration 2
val set = setOf(9, 8, 7)
====Javaのコレクションを生成====
var ia = arrayListOf<<Int>>() var hs = hashSetOf<<Int>>() var hm = hashMapOf<<Int, Int>>()
data class Customer(val name: String, val email: String)
fun main(args: Array<<String>>) {
val cust = Customer("hoge","hoge@hoge.com")
println(cust.toString())
}
=====実行=====
PS> > kotlin sample.Idiom01Kt
Customer(name=hoge, email=hoge@hoge.com)
component1=hoge
}
fun main(arg: Array<<String>>) {
foo()
foo(9,"custom")
package sample
fun main(args: Array<<String>>) {
// 変更可能なリスト
val mutableList: MutableList<<Int> > = mutableListOf()
for(n in 1..10) {
mutableList.add(n)
println(mutableList)
// リストのフィルタ
println(mutableList.filter{x -> > x % 2 == 0})
}
=====実行=====
PS> > kotlin sample.Idiom03Kt
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
[2, 4, 6, 8, 10]
}
fun main(args: Array<<String>>) {
val targetDir = """C:\work"""
var checker = EachReader()
val reader = File(path).reader()
var buf:CharArray = CharArray(140)
while(reader.read(buf) > > 0) {
val line = String(buf)
println(line)