※本サイトで紹介している商品・サービス等の外部リンクには、アフィリエイト広告が含まれる場合があります。

6-2. 文字型とリテラル

2023年7月23日

概要

任意の一文字を扱うデータ型です。

リテラル

シングルクォーテーション 「’」で、文字を囲います。
半角の英数字、およびいわゆる日本語のひらがな・カタカナ・漢字いずれも シングルクォーテーションで囲う形となります。

'a'
'あ'
'ア'
'字'

また、タブや改行文字など単なる文字入力では表せない文字をエスケープシーケンスエスケープ記号であるバックスラッシュ (\) + 1文字 で表します。

エスケープシーケンス説明
\tタブ
\bバックスペース
\n改行 (newline)
\r復帰 (カーソルを先頭に戻す)
\’シングルクォーテーション
\"ダブルクォーテーション
\\バックスラッシュ(\マーク)
\$ドルマーク

さらに、頭に 「\u」をつけて その後 ユニコード(Unicode) を指定できます。
ユニコードは、ユニコードコンソーシアムのサイトなどから確認できます。

文字型

型を宣言する際は「Char」を使います。

データタイプビット数
Char4 bit

注意
Char 型の変数が保持できる値は「文字一つ」だけです。複数の文字が含まれるとコンパイルエラーになります。(以下のを参照)

文字型の変数とリテラルでの代入の例

fun main() {
    val alphabetA: Char = 'a'
    val hiraganaA: Char = 'あ'
    val katakanaA: Char = 'ア'
    val kanjiJi: Char = '字'
    val unicodeA: Char = '\u3042'

    println("アルファベット: " + alphabetA)
    println("ひらがな: " + hiraganaA)
    println("カタカナ: " + katakanaA)
    println("漢字: " + kanjiJi)
    println("Unicode 3042: " + unicodeA)
}

実行例

アルファベット: a
ひらがな: あ
カタカナ: ア
漢字: 字
Unicode 3042: あ

Kotlin Playground で実行

エラーの例

複数の文字を Char 型に定義しょうとすると error: too many characters in a character literal XXXX となります。

>>> val alphabet_a: Char = 'aa'
error: too many characters in a character literal ''aa''
val alphabet_a: Char = 'aa'
                       ^