Kotlinでアプリ開発をしたいものの、
・Kotlinの使い方が分からない…。
・コードの書き方が知りたい…。
という方も多いのではないでしょうか。そこでこの記事では、
・Kotlinの特徴や開発環境の構築手順
・Kotlinの文法やプログラムの具体的な作り方
についてサンプルコードを交えながら解説します。
アプリ開発初心者の方でも、この記事を読めばKotlinの基本的な使い方や勉強方法が理解できます。
INDEX
Kotlinとは?
Kotlinとは、2011年に登場した比較的新しいプログラミング言語です。Javaの統合開発環境(IDE)などを開発しているJetBrains社により開発されました。
Javaのデメリットを改善し、シンプルなコードでスピーディーに開発ができる点がKotlinの特徴です。ここでは、Kotlinの用途やJavaとの互換性について紹介します。
Androidアプリ開発の推奨言語
Kotlinは、Androidデベロッパーの推奨言語として2017年にGoogleから公式に採用されました。そのため、オンライン学習コースをはじめとしたGoogleによるサポートが充実しています。
Androidアプリの開発言語は、従来はJavaが主流でした。しかし、Kotlinが登場したことで、Kotlinを使った開発が広がっています。KotlinはWebアプリやサーバーサイド開発も可能であるものの、Androidアプリ開発において利用されることがほとんどです。
スマホアプリの開発については、「【スマホアプリ開発の手順とは?】プログラミング初心者がiOS・Androidアプリを開発するために必要なこと」を参考にしてください。
Javaとの互換性が非常に高い
KotlinとJavaには100%の互換性があり、ソースコードをJavaからKotlinへ変換したり、Javaで記述されたシステムを途中からKotlinで記述したりすることが可能です。プログラミングの文法にも共通する部分が多いため、一方を習得することでもう一方も利用しやすくなります。
Javaについては「Java入門!言語の特徴や環境構築・基本処理の記述方法を解説!」で詳しく解説しているので参考にしてください。
\文字より動画で学びたいあなたへ/
Udemyで講座を探す >Kotlinの環境構築手順を解説
ここからは、Kotlinを利用するための準備について解説します。PC上でKotlinの環境構築を行いたい方は、「JDKをインストールする」と「IDE(統合開発環境)をインストールする」の内容を参考にしてください。
自身のPC上に開発環境を構築せず、ブラウザ上でコードを実行する方法は、「手軽に試したい場合はブラウザでの実行がおすすめ」で解説します。
JDKをインストールする
まずは、JDK(Java SE Development Kit)をインストールしましょう。JDKとは、JavaやKotlinでの開発に必要なコンパイルやデバッグなどの機能がまとまったツールです。
JDKのインストーラは、オラクル公式サイトからダウンロードできます。
環境を構築するOSにあったファイルをダウンロードし、画面に表示される案内に従ってインストールを行いましょう。
IDE(統合開発環境)をインストールする
次に、コードの実行やデバック、デプロイなどを効率的に行うためのIDE(統合開発環境)をインストールしましょう。KotlinのIDEには、JetBrainsが開発した「IntelliJ IDEA」と、Googleが提供する「Android Studio」の2種類があります。
IntelliJ IDEAでは、KotlinのほかにJavaやScalaなどによる開発も可能です。一方、Android StudioはAndroidアプリの開発に特化しています。開発したいプログラムに応じて導入するIDEを選びましょう。
IntelliJ IDEAのCommunityバージョンは、IntelliJ IDEA公式サイトから無料でダウンロードできます。
Android Studioも、Android Studio公式サイトから無料でダウンロードできます。
いずれのIDEを使用する場合も、OSに合ったバージョンのインストーラをダウンロードしたあと、画面の案内に従って設定を進めることで環境構築が可能です。
手軽に試したい場合はブラウザでの実行がおすすめ
Kotlin PlaygroundやAndroid Developersなどのサイトを利用すると、環境構築を行うことなくブラウザ上でKotlinのコードを実行できます。
■Kotlin Playground
■Android Developers
Kotlinを使ったコーディングを手軽に試してみたい場合には、これらのサイトがおすすめです。
Kotlinの基本文法
Kotlinのコードを使ってプログラミングを行うには、基本的な文法を押さえておく必要があります。Kotlinの基本文法は次の通りです。
変数とデータ型
Kotlinでは、「var」または「val」という機能で変数を宣言できます。「var」で宣言した変数は、別の値を再代入することが可能です。一方、「val」で宣言した変数は再代入ができません。値を変更したい変数は「var」、意図しない再代入を防ぎたい場合変数は「val」で宣言するなど、用途に応じて使い分けましょう。
Kotlinの変数にはいくつかのデータ型があり、格納できる値が異なります。Kotlinの主なデータ型は次の通りです。
データ型の種類 | 格納できる値 |
Boolean | trueまたはfalse |
Char | 16ビットUnicode文字 |
Byte | 8ビット符号付き整数 |
Short | 16ビット符号付き整数 |
Int | 32ビット符号付き整数 |
Float | 32ビット浮動小数点数 |
Long | 64ビット符号付き整数 |
Double | 64ビット浮動小数点数 |
例えば、再代入できるInt型の変数「NUM」と、再代入できないChar型の変数「NAME」を宣言したい場合は、下記のようなコードを記述します。
1 2 |
var NUM: Int = 500 val NAME: Char = 'Tanaka' |
Kotlinでは、データ型を明記せずに変数を宣言することも可能です。その場合、変数の初期値からコンパイラが推測したデータ型が自動的に割り当てられます。
演算子
演算子とは、数値同士の四則演算や、変数への値の代入などを行うための記号です。Kotlinでは主に次のような演算子が利用されます。
演算子 | 名称 | 機能 |
+ | 加算演算子 | 2つの値の合計を計算(文字列の場合は結合) |
– | 減算演算子 | 2つの値の差を計算 |
* | 乗算演算子 | 2つの値を掛け算 |
/ | 除算演算子 | 1つの値をもう一方の値で割り算 |
% | 剰余演算子 | 割り算の余りを計算 |
++ | インクリメント演算子 | 変数の値を1増加 |
— | デクリメント演算子 | 変数の値を1減少 |
shl | 左シフト演算子 | ビットを指定された数だけ左にシフト |
shr | 右シフト演算子 | ビットを指定された数だけ右にシフト |
+= | 加算代入演算子 | 変数に値を加算した結果を代入 |
-= | 減算代入演算子 | 変数から値を減算した結果を代入 |
== | 等価演算子 | 2つの値が等しい場合にtrueを返す |
!= | 不等価演算子 | 2つの値が異なる場合にtrueを返す |
< | 小なり演算子 | 1つ目の値が2つ目の値より小さい場合にtrueを返す |
> | 大なり演算子 | 1つ目の値が2つ目の値より大きい場合にtrueを返す |
! | 論理否定演算子 | Boolean型の真偽値を反転させる |
&& | 論理積演算子 | 複数の条件全てがtrueの場合にtrueを返す |
|| | 論理和演算子 | 複数の条件の内いずれかがtrueの場合にtrueを返す |
例えば、加算代入演算子の使い方は次の通りです。
1 2 3 4 |
var x = 5 val y = 7 x += y |
このコードでは、5が格納された変数xに、変数yの値である7を合計した数値が再代入され、変数xの値は12となります。
また、比較演算子や論理演算子を使ったコード例は次の通りです。
1 2 3 4 5 |
val x = 10 val y = 20 val z = 30 val result = (x < y && y < z) |
「x < y && y < z」という部分は、「xの値がyの値より小さく、かつyの値がzより小さい」という条件を表します。この条件は真のため、変数resultには「true」が代入されます。
条件分岐(if)
条件分岐とは、条件に応じて処理するコードを変更できる機能です。例えば、値の大小を比較して出力するメッセージを変更したい場合は、次のように記述します。
1 2 3 4 5 6 7 |
val x = 3 if (x > 5) { println("xは5 より大きいです") } else { println("xは5 以下です") } |
このコード例では、xの値は5よりも小さいため、「xは5以下です」と表示されます。
KotlinのifはJavaと異なり、式としても利用可能です。次のコード例のように、ifを実行した返り値を変数に代入できます。
1 2 3 4 5 6 |
val x = 3 val result = if (x > 5) { "xは5より大きいです" } else { "xは5以下です" } |
このコードでは変数xの値が3で、「x > 5」の結果が偽となるため、変数resultには「xは5以下です」という文字列が格納されます。
繰り返し(for)
「for」は、コード内の一定の部分を繰り返すための機能です。forを用いた繰り返し処理は、複数の要素を含むリストを用いて次のように記述します。
1 2 3 4 5 |
val list = listOf("A", "B", "C") for (item in list) { println(item) } |
上記のコードではA、B、Cという3つの要素を含むリストに対して処理を繰り返します。また、範囲演算子「..」を用いて、次のように記述することも可能です。
1 2 3 4 |
for (num in 1..5) { println(num) } |
このコードでは、1から5までの数値に対して「println()」の処理が繰り返され、順番に表示されます。
また、「whlie」では指定した条件をtrueである限り繰り返し処理を実行できます。whileを用いたコード例は次の通りです。
1 2 3 4 5 6 |
var i = 1 while (i <= 10) { println(i) i++ } |
このコードでは、while内の処理が繰り返されるたびに変数iが出力され、値が1ずつ増えます。変数iの値が10を超えた時点で「i <= 10」という条件がfalseとなり、繰り返しのループ処理が終了します。
関数
関数とは、いくつかの処理をまとめるための機能です。Kotlinで関数を定義する場合は、次のような形式で記述します。
1 2 3 4 |
fun 関数名(引数1: 型, 引数2: 型, ...): 戻り値の型 { 関数で行う処理 } |
例えば、Int型の引数を受け取り、2乗した結果をInt型として返す関数「square()」を定義するコード例は次の通りです。
1 2 3 4 |
fun square(number: Int): Int { return number * number } |
関数の引数には、次のコード例のようにデフォルト値を指定しておくこともできます。また、戻り値が無い関数を定義する場合の戻り値の型は「Unit」です。
1 2 3 4 |
fun bark(sound: String = "ワンワン"): Unit { println("$sound") } |
予期せぬトラブルが起きた際などに例外処理を行い、エラーメッセージを表示するような関数を定義したい場合は、戻り値としてNothing型を指定します。
1 2 3 4 |
fun error(message: String): Nothing { throw IllegalStateException(message) } |
クラス
クラスとは、扱うデータや処理方法などをまとめて定義する機能です。クラス内のデータは「プロパティ」、処理方法は「メソッド」と呼ばれます。
クラスを定義する基本的な文法は次の通りです。
1 2 3 4 |
Class クラス名(){ プロパティやメソッドを記述 } |
例えば、鳴き声を格納する「sound」というプロパティ、鳴き声を表示する「bark()」というメソッドを含む「Animalクラス」であれば、次のように定義します。
1 2 3 4 5 6 7 8 |
// Animalクラスの定義 class Animal(val sound: String) { // メソッドの定義 fun bark() { println("$sound") } } |
定義したクラスを利用するには、「インスタンス」の作成が必要です。例えば、「pig」と「dog」というインスタンスを作成し、鳴き声を表示するコードは次のように記述します。
1 2 3 4 5 6 7 8 9 |
fun main() { // Animalクラスのインスタンスを作成 val pig = Animal("ブーブー") val dog = Animal("ワンワン") // pigとdogのそれぞれでbark()メソッドを実行 pig.bark() dog.bark() } |
このコードを実行すると、「ブーブー」「ワンワン」と鳴き声が表示されます。
Kotlin入門!実際にコードを書いてみよう
Kotlinのコードを記述して、簡単な機能を持ったプログラムを作成してみましょう。ブラウザから利用できるAndroid Developersを利用して、コードの作成や実行を行う手順を解説します。
Hello Worldを出力してみよう
Kotlinでは、ファイル内の「main関数」にコードを記述します。簡単なプログラム例として、文字列を出力するprint()と、出力後に改行を行うprintln()を用いて、「Hello World」と出力してみましょう。
1 2 3 4 5 |
fun main() { print("Hello ") println("World") } |
以上が、Kotlinのコードを実行する基本的な流れです。
計算プログラムを書いてみよう
次に、条件分岐や繰り返し処理などを用いたプログラムを作成しましょう。例として、1から20までの整数を順番にチェックし、素数であるものだけを表示するプログラムを作ります。
素数を判定する計算プログラムのサンプルコードは次の通りです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
//素数を判定する関数「SosuOrNot」を定義 fun SosuOrNot(num: Int): Boolean {//Int型の引数、Boolean型の戻り値を指定 if (num <= 1) { return false //numが1以下であれば素数ではないため「false」を返す } for (i in 2 until num) { //numを、2からnum自身の値までの数値で割る計算を繰り返す if (num % i == 0) { //割り算の余りが0、つまり約数があるかどうかを判定 return false //約数がある場合は素数ではないため、falseを返す } } return true //素数であることが確定するため、trueを返す } fun main() { println("1から20までの素数:") // 1から20まで処理を繰り返す for (i in 1..20) { if (SosuOrNot(i)) { println(i) //SosuOrNot()の結果がTrueだった数値を出力 } } } |
このコードを実行すると、次のように素数が正しく出力されました。
このように、Kotlinでは基本文法を組み合わせることで、実現したい機能を実装できます。
Kotlinのおすすめ勉強方法
Kotlinについて学ぶ方法には、書籍や学習サイト、Udemyの動画講座などがあります。各勉強方法の詳細は次の通りです。
書籍で知識を深める
基本的な文法を学び、コードがある程度書けるようになったら、書籍を使った学習が効果的です。Kotlinに関する書籍を辞書的に活用することで、知識を深められます。しかし、特に初心者の場合は、自分のレベルに合っていない内容や表現があると、理解できなかったり頭に入ってこなかったりするため、効率的な学習は難しい場合があります。
学習サイトで手を動かす
Kotlinを使ったプログラミングに慣れてきたら、学習サイトで実際に手を動かしながら学ぶことがおすすめです。Kotlinの公式サイトでは、様々なチュートリアルがサンプルコード付きで用意されています。しかし、用意されている範囲の内容しか学習できないというデメリットがあります。
Udemyの動画講座で網羅的に学習する
記事で紹介した変数や関数、クラスなどの基本的な文法から、Kotlinの便利な機能まで網羅的に学びたい方には、Udemyの動画講座による学習がおすすめです。
Udemyの動画講座では、実際の画面を見ながらKotlinによるプログラミングを学習できます。そのため、書籍や学習サイトによる文章のみの学習と比べて、わかりやすく学ぶことが可能です。また、最新の情報をもとに学習できることも動画講座のメリットです。
Kotlinを学んでAndroidアプリを開発してみよう!
Kotlinは、Javaのデメリットを改善し、効率的な開発が可能となったプログラミング言語です。PC上に開発環境を構築するほか、ブラウザ上でKotlinを実行することもできます。一般的なプログラミング言語と同様に、変数や条件分岐、関数、クラスといった文法を用いてアプリを開発することが可能です。
Kotlinの使い方を学んで、Androidアプリを効率的に開発しましょう!
Kotlinを使ったAndroidアプリ開発について詳しく学びたい方には、下記の講座がおすすめです。
Kotlin知識ゼロOK!Composeで始めるプロのAndroid開発者になるためのマスターコース
【Android Studio Hedgehogに対応!】分かりやすく丁寧に解説!豊富なサンプルを通して、Kotlinの基礎・Android技術者として必要な知識・画面UI作成・魅力的なデザインをマスターしよう!
\無料でプレビューをチェック!/
講座を見てみる評価:★★★★★
コメント:講師は、Javaの文法やAndroidの機能を詳しく説明してくれます。このコースは、Android開発の第一歩としては、非常に優れたコースだと思います。
評価:★★★★★
コメント:説明が丁寧で内容もわかりやすい。よく使う基本的なUI部品はだいたい学ぶことができる。
Kotlinを習得して、Androidアプリの開発を始めましょう。
最新情報・キャンペーン情報発信中