1.入る前に : kotlinとは?
Javaを開発した “ Jetbrains ” 社が公開したプログラミング言語でJavaと100%互換しており、もっと簡潔で色んな機能が追加されている.
Javaが好きで結構使ってた私の主観的な感想では、Javaを基本としてpythonを載せたような感覚で勉強しながら「どこまで略せるの」とか「この表現でこの機能が使えるんだ」って思い、すごく楽しかった.
kotlinを学ぶぐらいの人だったらpythonかJavaどっちかを経験した人が多いと思います.私と同じ感想だった人があったらいいねお願いします!
2.Hello worldを出力させよう
プログラミングを学ぶ際に必ず出会う皆さん親しみのHello worldを出力してみよう
//Java
public class Hello_world{
public static void main(String[] args){
System.out.println("Hello, World!");
}
}
//Kotlin
fun main() {
println("Hello, World!")
}
fun main() = println("Hello, World!") //こんな風にもできる
- main()をパブリッククラスに入れる必要がない
- 宣言する時にvoidやリターンされる型を明示しなくていい
- 「;」を付けなくてもいい.(つけても問題はない)
- 下のmain()みたいにkotlinではメソッドのリターン値や出力をあんな風にも表現できる
(あくまで例として作成しただけで実際main()をあんな風に使う人はないでしょ)
3.メソッドの基本
fun printMessage(message : String) = println(message)
fun printMessage_Prefix(message : String, prefix: String ="Info")
= println("[$prefix] $message")
fun sum(x: Int, y: Int): Int {
return x + y
}
fun sum2(x: Int, y: Int) = x + y
fun main(){
printMessage("hello")
printMessage_Prefix("hello")
printMessage_Prefix("hello","log")
printMessage_Prefix(prefix="hello",message="kotlin")
println(sum(1,2))
println(sum2(3,4))
}
- 結果
- 2章で説明したようにパラメータがある場合も 「=」を使って表現できる
- printMessage_prefix(message,prefix)でprefixの右に「=“Info”」を付けたのが見える.これはデフォルト値で、パラメータにmessageしか渡さなくてもデフォルト値の「Info」が出力される
- printMessage_Prefix(prefix="hello",message="kotlin")ではprefixとmessageの順番を変えたけど、左にパラメータの名前を加えることでメソッドの内容通り出力されるのがわかる
終わり
どうでしたか.私は最初勉強しながら当たり前だったことが当たり前じゃなくなる感覚でしたがみなさんはどう思ったのか聞かせてほしいです
次はinfixという中置記法とオペレーター、kotlinでよく見ることになる「vararg」という概念に関して投稿します