概要
任意の一文字を扱うデータ型です。
リテラル
シングルクォーテーション 「’」で、文字を囲います。
半角の英数字、およびいわゆる日本語のひらがな・カタカナ・漢字いずれも シングルクォーテーションで囲う形となります。
例
'a'
'あ'
'ア'
'字'
また、タブや改行文字など単なる文字入力では表せない文字をエスケープシーケンスエスケープ記号であるバックスラッシュ (\) + 1文字 で表します。
| エスケープシーケンス | 説明 |
|---|---|
| \t | タブ |
| \b | バックスペース |
| \n | 改行 (newline) |
| \r | 復帰 (カーソルを先頭に戻す) |
| \’ | シングルクォーテーション |
| \” | ダブルクォーテーション |
| \\ | バックスラッシュ(\マーク) |
| \$ | ドルマーク |
さらに、頭に 「\u」をつけて その後 ユニコード(Unicode) を指定できます。
ユニコードは、ユニコードコンソーシアムのサイトなどから確認できます。
文字型
型を宣言する際は「Char」を使います。
| データタイプ | ビット数 |
|---|---|
| Char | 4 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'
^