カテゴリ: Kotlin 更新日: 2025/06/10

Kotlinの変数と定数の基本!valとvarの使い分けとデータ型の基本

Kotlinの変数と定数の基本!valとvarの使い分けとデータ型の基本
Kotlinの変数と定数の基本!valとvarの使い分けとデータ型の基本

先生と生徒の会話形式で理解しよう

生徒

「Kotlinで変数や定数を使いたいのですが、valvarの違いがよくわかりません。」

先生

「良い質問ですね。valvarは、Kotlinで変数を宣言する際に使うキーワードです。valは再代入できない定数、varは再代入可能な変数を表します。」

生徒

「なるほど。具体的な使い方やデータ型についても教えてください。」

先生

「それでは、Kotlinの変数と定数の基本的な使い方やデータ型について詳しく見ていきましょう!」

1. Kotlinの変数と定数の基本

1. Kotlinの変数と定数の基本
1. Kotlinの変数と定数の基本

Kotlinでは、変数や定数を宣言する際にvalvarのキーワードを使用します。

  • val:再代入できない定数(immutable)を宣言します。
  • var:再代入可能な変数(mutable)を宣言します。

例えば、以下のように宣言します。


val pi: Double = 3.14159
var count: Int = 0

piは定数として宣言されているため、後から値を変更することはできません。一方、countは変数として宣言されているため、後から値を変更することができます。

2. valとvarの使い分け

2. valとvarの使い分け
2. valとvarの使い分け

valvarの使い分けは、値を変更する必要があるかどうかで判断します。

  • val:値を変更する必要がない場合に使用します。再代入ができないため、安全性が高まります。
  • var:値を変更する必要がある場合に使用します。再代入が可能なため、柔軟性があります。

例えば、以下のように使用します。


val name: String = "Kotlin"
var age: Int = 5
age = 6 // 再代入可能

nameは定数として宣言されているため、後から値を変更することはできません。一方、ageは変数として宣言されているため、後から値を変更することができます。

3. Kotlinの主なデータ型

3. Kotlinの主なデータ型
3. Kotlinの主なデータ型

Kotlinには、さまざまなデータ型があります。主なデータ型は以下の通りです。

  • Int:32ビットの整数型
  • Long:64ビットの整数型
  • Float:32ビットの浮動小数点数型
  • Double:64ビットの浮動小数点数型
  • Boolean:真偽値型(trueまたはfalse
  • Char:文字型(1文字)
  • String:文字列型

例えば、以下のように使用します。


val isActive: Boolean = true
val grade: Char = 'A'
val message: String = "Hello, Kotlin!"

4. 型推論と明示的な型指定

4. 型推論と明示的な型指定
4. 型推論と明示的な型指定

Kotlinでは、変数や定数を宣言する際に、初期値から自動的にデータ型を推測する「型推論」が可能です。

例えば、以下のように宣言できます。


val number = 10 // Int型と推論される
val text = "Kotlin" // String型と推論される

ただし、初期値がない場合や、明示的に型を指定したい場合は、以下のように型を指定します。


val number: Int
number = 10

5. const valによる定数の宣言

5. const valによる定数の宣言
5. const valによる定数の宣言

Kotlinでは、コンパイル時に値が確定している定数を宣言する場合、const valを使用します。

const valは、クラスや関数の外側(トップレベル)またはobject内でのみ使用できます。


const val MAX_USERS: Int = 100

const valで宣言された定数は、ビルド時に値が確定し、変更することはできません。

6. nullとnull許容型

6. nullとnull許容型
6. nullとnull許容型

Kotlinでは、変数や定数にnull(値が存在しないこと)を代入することは原則できません。

ただし、型名の後ろに?を付けることで、nullを許容する「null許容型」として宣言できます。


var name: String? = null

このように宣言することで、namenullを代入することが可能になります。

関連記事:
カテゴリの一覧へ
新着記事
Go言語の関数でエラーハンドリングする基本的な方法
Go言語のスライス・マップ・配列をまとめて比較してみよう!初心者でもわかる使い分けの基本
Go言語の条件分岐の見やすい書き方を徹底解説!初心者でもわかるif文の使い方
Go言語とは何か?初心者向けに特徴・できること・インストール手順までやさしく解説
人気記事
No.1
Java&Spring記事人気No1
Swift Playgroundの使い方を完全解説!初心者に最適な学習環境の始め方
No.2
Java&Spring記事人気No2
Go言語で条件式を1行で書くコツ!三項演算子の代替と短縮記法
No.3
Java&Spring記事人気No3
Swift開発環境の構築方法を徹底解説!Xcode・Windows・Linux対応
No.4
Java&Spring記事人気No4
Kotlinのデータクラス(data class)とは?便利な特徴と使い方を初心者向けにやさしく解説!