この記事の目次
Kotlin入門
Kotlinとは、Androidアプリ開発の分野でシェアを拡大しているプログラミング言語です。Google社がAndroid開発言語として公式認定したことで、注目を集めました。
Google I/O 2019では、Kotlinファースト(Kotlinユーザーを念頭においたAndroid開発ツールとコンテンツの作成)をさらに強化することが発表されています。
また、Kotlinが評価されている点に、複雑なロジックが短いコードで表現できること、安全に動作する機能を備えていること、Javaとのあいだに完全な相互運用性をそなえていること、バックグラウンドタスクを簡単に管理できることが挙げられています。
Kotlinはその簡潔さから、Androidアプリ開発の入門言語としてはもちろん、プログラミングの入門言語としても、取り組みやすいものとなっています。
3つの実行/開発環境を紹介!
インストールが不要で、すぐにブラウザ上で実行できる「Kotlin Playground」、JavaなどのVM言語の統合開発環境である「IntelliJ IDEA」、その「IntelliJ IDEA」をベースとしたAndroidアプリ開発用の統合開発環境「Android Studio」について紹介します。
Kotlin Playground
「Kotlin Playground」はブラウザ上で動作する、手軽なKotlinの実行環境です。ブラウザ上で完結するため、PCにソフトウェアをインストールする必要はありません。
この記事で紹介する、Kotlinのプログラムも「Kotlin Playground」で実行しており、Kotlin入門におすすめです。ぜひ、いっしょに実行して動作を確認してみてください。
IntelliJ IDEA
「IntelliJ IDEA」はJetBrains社が開発した、JavaなどJVM言語の統合開発環境(IDE)です。
「IntelliJ IDEA」には有料版の「IntelliJ IDEA Ultimate」と無料版の「IntelliJ IDEA Community」が用意されています。無料版の「IntelliJ IDEA Community」がAndroid開発用として使用できますので、KotlinでAndroidアプリ開発がしたい場合はこちらをインストールします。
また、「IntelliJ IDEA Edu」という教育システムをインストールし「学習者」を選択することで、「IntelliJ IDEA」を使ったプログラムの作成を、対話形式で学習することができます。「教育者」を選択すれば、独自の学習コースを作成して、知識を共有することができます。
Android Studio
「Android Studio」はGoogle社が提供している、「IntelliJ IDEA」をベースとしたアAndroidアプリ開発用の統合開発環境です。
「Android Studio」は無償で提供されています。まだ英語媒体のものも多いですが、「Android developers」のコードラボで使い方を学習することができます。
Hello world!
さっそく、Kotlinでプログラムをかいてみましょう。ここではKotlin入門として、文字列Hello world!
を出力するプログラムを作成します。
fun main() {
println(""Hello, world!"")
}
Kotlinでは、fun
キーワードに続けて、関数名をかくことで関数を宣言します。上記の例では、main
関数を宣言しています。main
関数は、全体のプログラムで最初に実行される関数となっています。main
関数のなかで、println
関数を使って、文字列を出力しています。
実行すると、下記のような結果が得られました。
Hello, world!
基礎構文
ここからはKotlin入門として、基礎構文について整理していきます。実際にプログラムをかいて、動作を確認していきましょう。
データ型
下記の表にKotlinのデータ型をまとめました。
データ型 | データ型の種類 | ビット幅 |
---|---|---|
Double | 数値型 | 64 |
Float | 数値型 | 32 |
Long | 数値型 | 64 |
Int | 数値型 | 32 |
Short | 数値型 | 16 |
Byte | 数値型 | 8 |
String | 文字列型 | – |
Boolean | 論理型 | – |
変数
Kotlinでは、var
キーワードを使用して、変数を宣言します。また、val
キーワードを使用して、定数を宣言できます。その際にデータ型も指定します。実際に変数と定数を宣言して、動作を確認してみましょう。
fun main() {
var num: Int = 10
val numConstant: Int = 20
var str: String = ""Kotlin入門_変数""
val strConstant: String = ""Kotlin入門_定数""
println(""変数:${num}"")
println(""定数:${numConstant}"")
println(""変数(文字列):${str}"")
println(""定数(文字列):${strConstant}"")
}
上記では、変数と定数を宣言したあと、println
関数でそれぞれ出力しています。また、文字列中に変数を出力したい場合は、${num}
のように、変数を中かっこで囲み、ドル記号をつけます。
実行すると、下記のような結果が得られました。
変数:10
定数:20
変数(文字列):Kotlin入門_変数
定数(文字列):Kotlin入門_定数
条件分岐
Kotlinでは、if
文や、when
文で条件分岐することができます。
fun main() {
var num: Int = 10
val numConstant: Int = 20
if (num == numConstant)
println(""変数と定数は同値です。"")
else if (num > numConstant)
println(""変数の方が定数より大きいです。"")
else
println(""定数の方が変数より大きいです。"")
}
上記では、if
文を使って、宣言した変数と定数を比較し、結果に応じて文字列を出力しています。
実行すると、下記のような結果が得られました。
定数の方が変数より大きいです。
上記のif
文を使った例と、同じ動作をするプログラムを、when
文を使ってかくこともできます。
fun main() {
var num: Int = 10
val numConstant: Int = 20
when{
num == numConstant -> println(""変数と定数は同値です。"")
num > numConstant -> println(""変数の方が定数より大きいです。"")
else -> println(""定数の方が変数より大きいです。"")
}
}
when
文では、条件に合致した場合の動作を→
で指定します。
実行すると、下記のようにif
文を使った例と同じ結果が得られました。
定数の方が変数より大きいです。
繰り返し
Kotlinでは、for
文や、while
文で処理を繰り返し実行することができます。
fun main() {
for (i in 1..10) {
println(""${i}回目の実行です。"")
}
}
上記では、for
文を使って、println
関数を10回実行しています。
実行すると、下記のような結果が得られました。
1回目の実行です。
2回目の実行です。
3回目の実行です。
4回目の実行です。
5回目の実行です。
6回目の実行です。
7回目の実行です。
8回目の実行です。
9回目の実行です。
10回目の実行です。
上記のfor
文を使った例と、同じ動作をするプログラムをwhile
文を使ってかくこともできます。
fun main() {
var i = 1
while (i != 11) {
println(""${i}回目の実行です。"")
i += 1
}
}
ここでは、初期値として変数i
に1
を代入し、while
文を実行しています。それから、println
関数で文字列を出力した後に、変数i
に1
を加算しています。変数i
が11
になった時点で、処理を終了しています。
実行すると、下記のようにfor
文を使った例と同じ結果が得られました。
1回目の実行です。
2回目の実行です。
3回目の実行です。
4回目の実行です。
5回目の実行です。
6回目の実行です。
7回目の実行です。
8回目の実行です。
9回目の実行です。
10回目の実行です。
まとめ
いかがでしたでしょうか。Kotlin入門として、実行/開発環境、Hello world!を出力するプログラミング、Kotlinの基礎構文を紹介しました。
「Kotlin Playground」を使えば、簡単にKotlinでのプログラミングを始めることができます。ぜひご自身でソースコードを書いて、動作を確認してみてください。
この記事の監修者・著者

-
未経験からITエンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞
最新の投稿
- 2023年11月21日キャリア・転職ITエンジニアへのキャリアチェンジに多い理由は?
- 2023年11月20日キャリア・転職フリーターからの就職でおすすめの職業は?
- 2023年11月20日キャリア・転職経理へのキャリアチェンジ転職・志望動機は?
- 2023年11月20日キャリア・転職法務からのキャリアチェンジおすすめの業界は?