Little Strange Software

スマホアプリの開発を行う LittleStrangeSoftware のブログです。

「Try Kotlin」というサイトを紹介します!

 どうも!LSSです!!

 

 AndroidStudio+Kotlinでアプリ開発の勉強中です。

 

 今回は、LSSがアプリ開発のために勉強してるプログラミング言語「Kotlin」を
PCになんもインストールとかしなくてもブラウザ上で手軽に試せてしまう
「Try Kotlin」

をご紹介します!

 

 

早速ですが、こちらです!

 

try.kotlinlang.org

 

↑をクリックするだけで、ブラウザ上に「Kotlinのプログラムが書けて、すぐ実行できる」環境が表示されます。
※そこでスマホアプリが作れる、というわけではありません^^;

 

 

画面はこんな感じ

 

f:id:little_strange:20200209010722p:plain

 最初にサイトを開いた時、いきなりこんな画面が出てきます。

 なにやら色々ありますが、最低限わかっておく必要があるのは赤い手書きで書いた三か所だけ!

 

一番広いエリア、

/**
* We declare a package-level function main which returns Unit and takes
* an Array of strings as a parameter. Note that semicolons are optional.
*/

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

と最初から入っているところがコードを入力するところで、最初から簡単なサンプルが入っています。
(結果の欄のほうに「Hello,world!」って出力するだけのプログラムですね)

 

右上の緑の▶ボタン、下にRunって書かれているもの、これが実行ボタン。

 

で、実行すると、画面下の結果の欄にprintlnで出力しようとしたものが出てきます。

 

 

サンプルをそのまま実行してみます

 

緑の▶を押すと、

f:id:little_strange:20200209011447p:plain

結果の欄はこんな風になります。

 

 ここまで、「サイトを開く」「▶をクリックする」だけの2アクションです^^

 

 

 サンプルコードを軽く説明すると、

/**
* We declare a package-level function main which returns Unit and takes
* an Array of strings as a parameter. Note that semicolons are optional.
*/

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

 

 まず最初に

/*

で始まり、

*/

で終わるもの、これは「複数行コメント」で、この間には何を書いても「コメント」とみなされ、例え意味の通る関数などを書いても実行されません。

  • プログラムコードを読んでいる人に、コードを書いた人から伝えたい事 
  • コードを書いた人自身の覚書き
  • とりあえず書いてはみたけど実行させたくないコード

などを書く際に、/*と*/で囲んで「コメント化」します。

 

 次に、

fun main(args: Array<String>) {

}

ですが、この「素のKotlin」の場合、このmainという関数の内容が実行される事になります。

 ここはAndroidStudioのKotlinとは違うところで、AndroidStudioの方でいうと

override fun onCreate(savedInstanceState: Bundle?) {
}

みたいな感覚です。

 

で、そのmainの中身である、

println("Hello, world!")

が実際に実行される内容で、このprintlnという関数は、
「結果画面に改行つきで出力する」
というものです。
※最後の2文字は、アルファベット小文字のエルエヌです。
 「行」を意味するLine」の略かなと思われます。

 

 

サンプルコードをちょっと書き換えてみます

 

f:id:little_strange:20200209013801p:plain

 

試しに、

  • コメント部分を削除
  • println("Hello, world!")Hello, world!部分をとりあえず書き換えてみた。に変更

とだけ、手を加えました。

 

 そして右上の▶をクリックします。

 

f:id:little_strange:20200209014103p:plain

下の結果の欄に出てくる文字が変わります^^

 

 

もっと書き換えてみます

 

f:id:little_strange:20200209014901p:plain

 こんな風にしてみました。

 

val onamae="立倉 麻希"
var nenrei=11

fun main(args: Array<String>) {
    println("私は$onamae。")
    println("年齢は${nenrei.toString()}歳。")
}

 

というコードです。

 

 Kotlinのお手軽なところは、"と"で囲んだ「文字列として扱われるところ」の中に$変数名で書くと、その部分が変数として解釈され、その中身に置き換えられるところ。

 

 ただし、nenrei.toString()のように変数そのままじゃなく関数toString()等を含む場合は${と}で囲んであげる必要があります。

 

 あと、「mainの中身が実行される」と言いましたが、「実行」以外の事、例えば「変数の宣言」は外でもOKです。

 このコードでいうと、

val onamae="立倉 麻希"
var nenrei=11

という部分ですね。

 

で、▶を押して実行してみると、

f:id:little_strange:20200209015632p:plain

案の定、こういう出力結果になります^^

 

 

もっともっと書き換えてみます

 

f:id:little_strange:20200209020649p:plain

↑こんなコードにしてみました。

 

class ningen(val onamae:String="ななしのごんべ",var nenrei:Int=0){
    fun otanjoubi(){
        nenrei++
    }
}

val makichan=ningen("立倉 麻希",11)

fun main(args: Array<String>) {
    makichan.otanjoubi()
    println("私は${makichan.onamae}。")
    println("年齢は${makichan.nenrei.toString()}歳。")
}

 

という内容です。

  1. 「ningen(人間)クラスを定義、
     プロパティとしてonamae(お名前)とnenrei(年齢)を持ち、
     メソッドとしてotanjoubi(お誕生日)を持つ。
     otanjoubiメソッドは実行するとnenreiが1つ増える。」
  2. 変数makichan(麻希ちゃん)をningenクラスのオブジェクトとして生成。
    (その際、onamaeを立倉 麻希、nenreiを11とする)
  3. main関数内でまず、makichanのotanjoubiメソッドを呼び出し、麻希ちゃんの年齢を+1する(12歳になる)
  4. 2つのprintln関数で、麻希ちゃんのお名前と年齢を出力する。
    makichan.onamaeを出力する時にも${と}で囲む必要があります

って意味になります。

クラス作成シリーズで覚えた事をぶっこんでみましたw

 

 結果としてはやっぱり、

f:id:little_strange:20200209022345p:plain

こうなります^^

 

 

ちょっと走りすぎました。少し実用的?なものを書きます

 

f:id:little_strange:20200209030445p:plain

↑こんな感じにごっそり書き換えてみました。

 

 コードは、

 

import kotlin.random.Random

val saikoro=Random.nextInt(6)+1

fun main(args: Array<String>) {
    println("サイコロの目は…${saikoro.toString()}が出ました!")
}

↑こんな感じです。

 これを実行すると…

f:id:little_strange:20200209030810p:plain

↑こんな結果になります!

 

 サイコロなので、乱数で1~6の目がランダムで出ます。
(▶を押すたびに違う結果になります)

 

「突然、サイコロを振る必要に迫られたけどサイコロがない!!」

という時にも、もう安心ですね^^(どんな時だ!!www)

 

 

感想

 

 AndroidStudioでKotlinのプログラムを書く時は、Android独特の要素が多々あって、それを考慮する必要がありますが、「純粋にKotlinをまず理解したい」という場合には、こっちが手軽に試せて良いですね^^

 

 

てなとこで、今回はこのへんで!

 次回もまた、よろしくお願いします^^