第三章 文字・文字列・数値
文字の書き分け方
シングルクォーテーションで囲います。
文字は文字コード(正の整数)です。
'A'
目次
1.文字という値
ここまで、「文字列」と「数値」について学んできました。
文字列と数値では、プログラムの中での扱いが異なりましたね。
ここでは、文字列や数値とも扱いが異なる「文字」について説明していきます。
文字ですか?
文字列ではなくて?
一文字ってことよね。
一文字の文字列でいいんじゃないの?
もっともな意見だ。
実は「文字列」という値は複数の文字だ。
文字一つとは扱いが異なる。
文字列の正体は「文字」が複数個まとまった物です。(配列と言います)
つまり、文字列は文字を前提として作られた値なのです。
文字には文字の扱い方があります。
紹介してみますね。
2.文字の書き分け方
文字をプログラムの中に書く場合には、一文字を「''」シングルクォーテーションで囲います。
//Sample03_21.java
class Sample03_21 {
public static void main(String[] args){
System.out.println( 'A'); //文字
}
}
コマンドライン
>javac Sample03_21.java
>java Sample03_21
A
文字単体では文字列と変わらないわね。
やっぱり文字列に変換されてから
表示されてるんだ。
さすが。
その通りだ。
3.文字は文字コード
コンピュータの中は、「0」 と 「1」 の2つしかないというのを聞いたことがありませんか?
百歩譲って2進数を使えば数値が表現できるのはいいとして
文字は無理じゃありません?
そこで、文字一つ一つに固有の番号をつけました。これが「文字コード」です。
文字コードは正の整数です。
コンピュータの中では 文字コードで保管や処理をして、
表示するときには 文字の形で表示するようになっているのです。
あなたが見ているこの文字も、あなたのパソコンが文字コードを文字の形で表示しているのです。
文字コードは意識してるわ。
Linux使ってると
たまに面倒なことに
なるのよ。
文字コードにはたくさんの種類があります。
その中で、Javaでは Unicode(ユニコード)を使っています。
Unicodeは世界各地域で使われている多くの文字を統括する文字コードとして作られました。
Unicodeは膨大過ぎるので、代わりにASCIIコードを掲載しました。
半角英数字の文字コードは Unicodeと共通ですのでご参考になるかと思います。
ちなみに文字化けは、文字コードの取り違えが大きな原因ですが、
ASCIIコードの部分は、ほとんどの文字コードで共通です。
このため、半角英数字は文字化けが起こらないのです。
4.文字と文字列と数値の足し算
//Sample03_22.java
class Sample03_22 {
public static void main(String[] args){
System.out.println('H'); //文字
System.out.println('H' + 'X'); //文字 + 文字
System.out.println("HelloWorld_" + 'X'); //文字列 + 文字
System.out.println('X' + "_HelloWorld!"); //文字 + 文字列
System.out.println(1980 + 'H'); //数値 + 文字
System.out.println('H' + 1980); //文字 + 数値
}
}
コマンドライン
>javac Sample03_22.java
>java Sample03_22
H
160
HelloWorld_X
X_HelloWorld!
2052
2052
想像を絶する結果ですね。
文字は文字コード
文字は計算すると文字コードとして処理されます。
H の文字コードは 72 、X の文字コードは 88 なので、
72 + 88 = 160 ですね。
1980 + 72 = 2052 も文字コードとして処理されています。
文字はあくまでも文字コードだ。
文字列の様に使いたければ
「""」で囲うといい。
//Sample03_23.java
class Sample03_23 {
public static void main(String[] args){
System.out.println("H" + 1980); //文字列 + 数値
}
}
コマンドライン
>javac Sample03_23.java
>java Sample03_23
H1980
文字の具体的な使い方が
想像つかないっス。
ん~。
今の段階では有効な用途が
説明しにくいかな?
文字が文字コードであることは覚えておいてください。
ちなみに、文字コードそのものを覚える必要はありません。
お疲れ様でした。