カテゴリ: Kotlin 更新日: 2026/02/27

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を代入することが可能になります。

まとめ

まとめ
まとめ

ここまで、Kotlinの変数と定数の基本として、valvarの違いや、型推論、データ型の特徴、そしてconst valを使った定数の宣言方法まで幅広く学んできました。あらためて振り返ってみると、Kotlinがなぜ多くの開発現場で利用されているのか、その理由がよくわかります。特に、再代入できないvalを標準的に使うという文化は、プログラムの安全性を高めるうえで非常に重要です。値が変わらないという保証だけで、コードの読みやすさも理解しやすさも大きく向上するため、初心者でも安心して扱うことができます。

また、Kotlinの大きな魅力として、型推論の存在があります。型推論を使えば、煩雑な型指定を省略できるため、コード全体が見やすく整理され、ミスが起きにくくなります。開発速度を大きく高めるだけでなく、読み書きの負担が減るので学習もしやすく、特に初学者には嬉しい機能です。さらに、明示的な型指定も可能で、特定の型を固定したい時には非常に役立ちます。状況によって使い分けることで、より安全で効率的なプログラムを書くことができるようになります。

データ型の種類も数多くありますが、整数、小数、文字列、真偽値など、日常的に利用するものがひととおり揃っています。特にString型やBoolean型はさまざまな処理に登場するため、しっかり理解しておくことで、より複雑なアプリケーションを作る際にも役立ちます。さらに、Kotlin特有のnull安全性は、アプリ開発におけるバグの大きな原因である「null参照エラー」を避けるための強力な仕組みとして重要です。String?のように?を付けて宣言することで、nullを扱う必要がある場面でも柔軟に対応できます。

そして、コンパイル時に値が確定するconst valは、アプリの設定値や固定値を扱う際に非常に便利です。トップレベルやobject内で宣言し、変更がない値を扱うことで、プログラム全体の統一性や可読性が高まります。開発の規模が大きくなればなるほど、定数管理の重要性は増していくため、早い段階で慣れておくと大きなメリットがあります。

以下は、今回学んだ内容をまとめたサンプルプログラムです。valvarの違い、データ型の指定、null許容型などがひと目でわかるようになっていますので、ぜひ確認して理解を深めてみてください。

サンプルプログラム


// 定数と変数の基本
val siteName: String = "Kotlin学習サイト"
var visitorCount: Int = 10
visitorCount = 11

// 型推論の例
val title = "学習まとめ"
val score = 95

// null許容型
var memo: String? = null

// const val の利用例(トップレベル)
const val MAX_POINT = 100
先生と生徒の振り返り会話

生徒

「今日のまとめを読んで、Kotlinの変数や定数がかなり理解できた気がします。特にvalvarの使い分けは、実際にコードを書くとすぐに役立ちそうですね。」

先生

「その通りです。値が変わらないものはval、変わるものはvarという考え方を習慣にすると、コードがとても読みやすく、安全になりますよ。」

生徒

「型推論も便利ですね。全部に型を書かなくてもいいのは助かります。でも、必要な時には明示的に型を書けるというのも安心です。」

先生

「型推論と明示的な型指定を適切に使い分けることは、Kotlinを書く上で大切なポイントです。そして、null安全性の仕組みはKotlinの大きな特徴でもあります。String?のように宣言するだけで、nullが扱えるようになるので覚えておきましょう。」

生徒

「はい!これでKotlinの基礎がしっかり固まった気がします。次はもっと複雑な処理にも挑戦してみます。」

先生

「素晴らしい意気込みですね。今回の内容はアプリ開発の基礎になる部分なので、ぜひ復習しながらステップアップしていきましょう。」

Kotlinを基礎からしっかり学びたい人や、 Java経験を活かしてモダンな言語にステップアップしたい人には、 定番の入門書がこちらです。

基礎からわかるKotlinをAmazonで見る

※ Amazon広告リンク

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

Kotlinでvalとvarの違いは何ですか?

Kotlinでは、valは再代入できない定数を、varは再代入可能な変数を宣言するために使います。プログラムの中で一度だけ値を設定して変更しない場合はvalを、途中で値を変更する必要がある場合はvarを使います。

Kotlinのvalを使うメリットは何ですか?

Kotlinのvalを使うことで、値が変更されないことが保証されるため、コードの安全性や可読性が向上します。意図せぬ再代入によるバグを防げるため、特に初心者にとって重要な考え方です。
関連セミナーのご案内

【未経験OK】Kotlinで始めるプログラミング入門|ゼロから「動く喜び」を体験する60分

「プログラミングを始めたい」を形にする。最新言語Kotlinで楽しむ、ものづくりの第一歩。

本講座は、プログラミング経験が全くない方のためのエントリー講座です。「コードを書くってどういうこと?」という基本から、世界中で使われている最新言語Kotlin(コトリン)を使って、実際にプログラムを動かすまでを体験します。難しい理屈よりも、まずは「自分の手で動かす楽しさ」を最短距離で実感していただきます。

具体的な体験内容と環境

【つくるもの】
簡単な言葉を入力すると自動で返答してくれる「対話型ミニプログラム」や、計算を自動化する「便利ツール」をゼロから作成します。黒い画面に自分の書いた文字が表示される瞬間は、最高の感動体験です。

【開発環境】
プロのエンジニアが実際に使っている開発ツールIntelliJ IDEA(インテリジェイ)をインストールします。ボタン一つで日本語化し、初心者でも迷わず操作できる「魔法の設定」を一緒に行います。

この60分で得られる3つの体験

1. 自分のパソコンが「開発基地」に

プロと同じ道具を揃えることで、明日から一人でもプログラミングを続けられる環境が整います。

2. プログラミングの「仕組み」がスッキリ

「変数」や「型」といった難しい言葉も、身近な例え話で解説。モヤモヤをゼロにします。

3. 「読みやすい」から「直せる」へ

Kotlinは英語に近くて読みやすいのが特徴。自分でコードを読んで、間違いを見つけるコツも伝授します。

※本講座は、パソコン操作が不安な方でも安心して受講いただける完全マンツーマンです。あなたのペースに合わせて、一つずつ丁寧に進めていきます。

セミナー画像

Kotlinで始めるプログラミング入門|ゼロから「動く喜び」を体験

関連記事:
カテゴリの一覧へ
新着記事
New1
Go言語
Go言語のwhile的なforループの使い方!条件式ループの基本を解説
New2
Go言語
Go言語プログラムの実行方法まとめ!VSCode・ターミナルでの実行手順を解説
New3
Swift
Swift意味とは?プログラミング言語・金融・鳥の違いを徹底解説
New4
Swift
Swift 戻り値の扱い方と複数戻り値の返し方|初心者でも分かる関数の基本
人気記事
No.1
Java&Spring記事人気No1
Go言語
Go言語でリダイレクト処理を行う方法(http.Redirect)を初心者向けに解説
No.2
Java&Spring記事人気No2
Swift
Swift開発環境の構築方法を徹底解説!Xcode・Windows・Linux対応
No.3
Java&Spring記事人気No3
Kotlin
Android Studioのインストール手順と初期設定を初心者向けに完全解説!
No.4
Java&Spring記事人気No4
Kotlin
Gradleファイル(build.gradle.kts)の書き方と役割をやさしく解説!Kotlin初心者向け完全ガイド
No.5
Java&Spring記事人気No5
Go言語
Go言語のgo.modファイル完全ガイド!初心者でもわかる仕組みと書き方
No.6
Java&Spring記事人気No6
Swift
Swift Playgroundの使い方を完全解説!初心者に最適な学習環境の始め方
No.7
Java&Spring記事人気No7
Go言語
Go言語で条件式を1行で書くコツ!三項演算子の代替と短縮記法
No.8
Java&Spring記事人気No8
Kotlin
Kotlinの演算子一覧と使い方!算術・比較・論理演算子の基本を解説