Kotlinは、Java互換でありながら非常に簡潔な構文を持つモダンなプログラミング言語です。
本記事では Kotlin(Kotlin/JVM)で「Hello World」を出力する最も基本的な方法を、仕組みの説明と注意点を交えながら丁寧に解説します。
KotlinでのHello World
Kotlinでコンソールに「Hello World」を出力する最小構成のコードは次の通りです。
fun main() {
println("Hello World")
}
このコードだけで、Kotlinのプログラムは正しく実行できます。
Javaのようにクラス定義を書く必要はありません。
※本記事では Kotlin/JVM(Java Virtual Machine上で動作するKotlin) を前提としています。
コードを1行ずつ正確に理解する
fun main()
fun
Kotlinで関数を定義するためのキーワードです。main
プログラムの エントリーポイント(実行開始地点) となる関数名です。
Kotlin/JVMでは、決められたシグネチャのmain関数が起動時に呼び出されます。()
引数リストです。
今回は引数を使わないため空になっています。
Kotlinでは、トップレベル(クラス外)に main 関数を定義できます。
これはJavaとの大きな違いのひとつです。
{ }(関数本体)
{
println("Hello World")
}
{ } は関数の処理内容を表します。
main 関数が実行されたとき、この中の処理が上から順に実行されます。
println("Hello World")
println
標準出力(コンソール)に文字列を出力し、末尾で改行する関数です。"Hello World"
出力したい文字列(String)です。
Kotlinでは文字列は ダブルクォート で囲みます。
改行を行わずに出力したい場合は、次のように print を使います。
print("Hello")
print(" World")
出力結果
Hello World
main関数の別の書き方(引数あり)
Kotlinでは、次の形式の main 関数も正式にサポートされています。
fun main(args: Array<String>) {
println("Hello World")
}
args
コマンドライン引数を受け取るための配列です。- CLIツールや引数付き実行を行う場合はこちらを使用します。
どちらを使うべきか?
- 引数を使わない場合:引数なしの
main - CLI引数を扱う場合:引数ありの
main
どちらも正しい書き方であり、用途によって使い分けます。
実行環境別のHello World
ブラウザ(Kotlin Playground)
公式のKotlin Playgroundでは、以下のコードをそのまま実行できます。
fun main() {
println("Hello World")
}
インストール不要で、Kotlinを試すには最適な環境です。
IntelliJ IDEAで実行する場合
- IntelliJ IDEAを起動
- New Project → Kotlin
Main.ktを作成- 以下を記述
fun main() {
println("Hello World")
}
- 実行ボタン(▶)をクリック
コマンドラインで実行する場合(Kotlin/JVM)
※以下は Kotlinコンパイラ(kotlinc)とJava実行環境(JRE / JDK)がインストールされていることが前提です。
kotlinc Main.kt -include-runtime -d main.jar
java -jar main.jar
実行結果
Hello World
この方法では、KotlinコードをJARファイルにコンパイルし、Javaとして実行しています。
Kotlinの文法上の特徴(Hello Worldから見えるポイント)
セミコロンは通常不要
println("Hello World")
Kotlinでは文の区切りにセミコロンは必須ではありません。
(書いてもエラーにはなりませんが、一般的には書きません)
文字列と文字の違いに注意
println("Hello") // OK(String)
println('H') // OK(Char)
println('Hello') // エラー
' '→ Char(1文字)" "→ String(文字列)
main関数名は必ず小文字
fun Main() {
println("Hello World")
}
この関数は エントリーポイントとしては認識されません。
Kotlin/JVMでは、main という名前と決められた形式の関数のみが起動点になります。
KotlinらしいHello Worldの応用例
文字列テンプレート
fun main() {
val name = "World"
println("Hello $name")
}
出力
Hello World
式を埋め込むことも可能です。
println("1 + 2 = ${1 + 2}")
まとめ
- Kotlin/JVMでは
fun main()が実行開始点 - クラス定義は不要
println()で標準出力- セミコロン不要、型推論によりコードが簡潔
- 引数あり/なしの
mainは用途で使い分ける
以上、Kotlinでhello worldを出力する方法についてでした。
最後までお読みいただき、ありがとうございました。









