文系男子が日和るIT開発~IT知識なしで飛び込んだIT企業

文系男子だからIT企業に就職するなんて考えてもみませんでしたが、日和ながら日々くらいついています。

Let's Try Kotlin 入門編 インストールせずJavaとの違いを体感する

 

はじめに。

書こう書こうととしていたKotlinのエントリ。

プログラムの記事って、作って試して他の言語と比較して、
ってやっていくとどんどん嵌っていくので、
こうしてエントリになるまで、どうしてもだいぶ時間がかかってしまいます。
或いは、
もうエントリにせず自分の世界の中だけの備忘録にしてしまいがちです。

ですが、今回はわりと重要な話だったので、ポイントだけ書くことにしました。

 

Kotlin入門

公式サイトはこちら

kotlinlang.org

 

100% interoperable with Java™ and Android

こう書いていますね。
Kotlinが今年一躍有名になった大きな理由が、

 
Androidアプリの開発言語になったことであることはご存知ですよね。
その背景は、Androidの開発言語とJavaと100%互換対応な言語の一つだからです。
つまり、KotlinでコーディングしたソースコードJVMで実行可能ということです。

jp.techcrunch.com

 

ということで、今回はJavaとKotlinの違いについて
ポイントを簡易的にまとめましたので、ご紹介します。

 

Hello, World

コンパイラをインストールしてローカルの環境でコーディングしてもいいのですが、
さっと試せるWeb版もおすすめです。

Tye & Error を繰り返すことができます。

try.kotlinlang.org

 

最初に表示される画面がこちら。
サンプルコードが記載されており、「Hello, World!」と書かれています。 

f:id:dreamjourney:20170610212936p:plain

Kotlin

fun main(args: Array<String>) {
println("Hello, world!")

Java

public class HelloWorld{
    public static void main(String[] args) {
        System.out.println("Hello, world!");
    }
}  

 

こちらがコード。
上段がKotlinで、下段が見慣れたJava

KotilinもJavaっぽく見えますが、
このclassだけでもいくつか違いがあることが見て取れますね。

そこを抑えておくと、基本はJavaっぽく書いていけばよいだけなので
Java経験のあるKotlin初心者にはハードルは低いのではないかと思っています。

 

JavaとKotlinの違い

「 Hello, World!」でけでも、大きく3つの違いがあることがわかります。

1つめ。

Javaでは、mainメソッドの宣言はHelloWorldという名前の
Publicなクラスでクラス宣言を行っていますが、
Kotlinではアクセス修飾子はPublicとしているため、
mainメソッドの宣言の際に、クラス宣言は不要です。

2つめ。

print(ln)の際、System.outが不要です。

Javaを習得した人が最初に通る道として、
「Hello, World!!」をコンソール上に表示させるかと思いますが、
その時、おまじないように存在する、この「System.out.println」。
詳しく学んだ方は少ないはずですので、ここでは意味合いは割愛します。

Kotlinの場合は、「println」のみでOKです。
これもおまじないとして覚えておくだけで現状は良いでしょう。

3つめ

改行のする際の「セミコロン(;)」は不要です。
 (1行に複数行を記述する場合は、セミコロンで区切ってください)

改行の際、セミコロンが不要です、といっても、
勝手にセミコロンを打ってしまうのではないでしょうか(汗

他にもまだあるJavaとの違い

基本データ型(プリミティブ型)はありません。
Javaでは、Char、String、Intが用意されていましたが、
Kotlinではありませんが、代わりのオブジェクトが用意されています。
Char、String、Int型などをクラスとして宣言することで、
メソッドを呼び出すことができます。

 

型推論

Kotlinでは型が推測で判断できるため、
変数宣言で値の初期化を行う場合は、型を書く必要がないようです。

ただし、明示的に指定してあげたい場合は、「コロン(:)」を使用することとしています。

また、 変数の宣言を行う際には、
型が「var」なのか「val」なのかを付けましょう。

「var」と「val」の違い

  • varで宣言した場合は変数への再代入可能です。 
  • valで宣言した場合は変数への再代入はできません。

 

var i = 123   // 「123」の値よりこの変数の型を判断
val i = "abc"  // 「abc」の値よりこの定数の型を判断 

 

関数宣言

Kotlinでは「fun」というキーワードで関数を宣言します。

 

if文

Kotlinでは if文は式として扱えるようですので、
次のように if や else ブロック内での式の値を
そのまま使用することができます。

val aaa = if (salary < 200,000) {
"赤字覚悟"
} else {
"安泰"
}

 

まとめ

細かい点を見ていくと、
JavaとKotlinの差異は様々あるようです。

似ていてもやはり異なる言語ということです。

なので、コーディング前にしっかり調査し、
testも念入りに行うことをおすすめいたします。

 QiitaでもKotlinの記事は多くあるため、是非参考にしてみてください。
参考書も手元に1冊あると良いですが、

お店にさほど出回っていないですね。(残念)

 

Kotlinスタートブック -新しいAndroidプログラミング

Kotlinスタートブック -新しいAndroidプログラミング