今回はKotlin(というかプログラミング)の基礎の基礎、型と変数/定数についてお話していきます。
基本の型
まずは基本の(プリミティブ)型、数値/文字列/真偽値について。Kotlinのリファレンスでは全てのものがオブジェクトであると定義されていますが、便宜上この3つを合わせてプリミティブ型と考えます。
今回は型として最も基本的な数値や文字(列)を変数や定数に代入していきます。
ちなみにプリミティブ(primitive)とは
プリミティブとは、原始的な(もの)、根源的な(もの)、初期の、太古の、未発達な、素朴な、粗野な、原形、などの意味を持つ英単語。
ITの分野では、複雑な構造を形作る際の構成要素として使われる、単純あるいは基本的な構造のことを意味する。
(IT用語辞典)
数値が入る型
型 | ビット数 | 値の表記例 |
---|---|---|
Double | 64 | 123.45 |
Float | 32 | 123.45F |
Long | 64 | 12345L |
Int | 32 | 12345 |
Short | 16 | 123 |
Byte | 8 | 123 |
数値が入る型は6種類。DoubleとFloatは浮動小数点、他は整数を格納する型。よく使うのはDoubleとIntになります。
表記のルールとして、FloatやLongを使うのであれば数値の最後にFやLを付けるということだけ注意しましょう。
文字が入る型
型 | 文字数 | 値の表記例 |
---|---|---|
String | 1以上 | "orange" |
Char | 1 | ‘A’ |
文字が入るのはこの2種類、毎度おなじみStringと1文字限定のChar型です。
ここで注意すべきは使えるクオートの種類が違うということです。Char型であればシングルクオートを使いましょう。
真偽値が入る型
型 | 意味 | 値の表記 |
---|---|---|
Boolean (ブーリアン) | 真か偽か | true / false |
真偽値はBoolean型。値はtrueかfalseかの2択。これもプログラミング言語ではおなじみ。
main関数を記述する
型については深くやろうとするといい感じに沼なので今回はこのくらいにして、実際に変数や定数に代入していきます。
基本的にIntelliJを使っていきますが、他のエディタでもかまいません。まずはプロジェクトのsrcフォルダに新規ファイルを作成し、main関数を書きましょう。
fun main(args: Array<String>) {
}
main関数を作成するショートカット
手書きで打ち込んでもかまいませんが、IntelliJにはmain関数を作成するショートカットがあるので一応ご紹介しておきます。
エディタ画面にただ単にmainと入力するとこんな画面が出てきます。
ここで下の選択肢を選ぶと、
このように自動的にmain関数が記述されます。
ではこれからこのmain関数の{}の中に変数と定数を定義していきます。
変数/定数宣言の基本構文
fun main(args: Array<String>) {
var num = 10
val game = "Minecraft"
}
この例ではnumという変数に10という数値を、gameという名前の定数にMinecraftという文字列をそれぞれ代入しています。
再代入可能な変数であればvar、再代入不可の定数であればvalを頭に付けましょう。
ちなみに行末にセミコロンなどは不要です。
変数/定数を標準出力する
これを標準出力するにはprintln関数を使います。
出力する文字列の中に変数や定数を埋め込むのであれば以下のように$マークを付け、変数名を{}で囲います。
{}は不要な場合もありますが、書いてあることで問題になることは無いので、この方法だけご紹介しておきます。
ではエディタ左側の再生ボタンをクリック→実行で試してみましょう。
fun main(args: Array<String>) {
var num=10
val game="Minecraft"
println("${game}は${num}周年")
}
//Minecraftは10周年
おめでとう。やったこと無いけど。
コンパイル時定数
Kotlinではvalとは別に定数を宣言する方法があります。
これをコンパイル時定数といい、main関数実行時ではなくもっと前、コンパイル時に値が代入される定数です。valは厳密に言えば絶対的な定数ではありませんが、こちらは完全に変更不可な定数になります。
その他Javaと併用するような場合に若干アクセスの違いが出てきますが、ここでは定数の宣言方法だけ説明しておきます。宣言するためのルールは
- 値として代入できるのは上に挙げた基本の型のみ
- main関数の外側で宣言する
- (慣例として)全て大文字のスネークチェイン
この3つです。
大文字は厳密に言えば決まりではありません(エラーにはなりません)が、分かりやすく大文字で表記するのが基本になります。
単語が複数になるのであればスネークチェインでつなげましょう。例えば「my birthday」は「MY_BIRTHDAY」になります。
では実際に宣言して値を表示してみましょう。
const val TAX = 1.08
fun main(args: Array<String>) {
println(TAX)
}
//1.08
このようにmain関数の外側で「const val」を使って宣言すると、その定数はこのプログラム上では絶対不変の定数となります。
次回予告
今回は基本的な型の説明と簡単な変数/定数宣言、そして絶対的な定数であるコンパイル時定数を宣言しました。
次回は静的型付け、型推論についてお話します。