【Java】文字データの扱い方
1.文字は「char」型、文字列は「String」型を使う
Javaで文字データを扱う場合、使用する型に注意しなければなりません。
「a」や「う」などの一文字は「char」型を、「abcde」や「あいうえお」などの複数文字列は「String」型を使用します。
char c1 = 'a';
char c2 = 'う';String str1 = "abcd";
String str2 = "あいうえお";
2.文字データはクォーテーションで囲む
Javaなどのプログラミングでは、文字データはクォーテーションで囲まなければなりません。
文字型の場合はシングルクォーテーションで、文字列の場合はダブルクォーテーションで囲みます。
char c1 = 'a';
char c2 = 'う';String str1 = "abcd";
String str2 = "あいうえお";
3.文字コード
「a」や「あ」などの文字は、「文字コード」で表現することが可能です。
文字コードとは?
文字コードとは、文字に番号を振って管理するための規則
では、確認のため「Sample09.java」というファイルを作成し、以下のJavaプログラムを入力してください。
public class Sample09{ public static void main(String args[]){ //変数「c」に文字コード「\u0061」を代入 char c = '\u0061'; //変数「c」を出力 System.out.println(c); } }
そして「javac Sample09.java」でコンパイルし「java Sample09」で実行してください。
すると、「a」という文字が出力されます。
【詳細】
Javaは文字コードにUnicodeというものを採用しています。
Unicodeでは「0061」という番号(16進数)が「a」と決められており、Javaではその前に「\u」を付けることを決めています。
そのため「\u0061」は「a」となるのです。
4.文字なのに数値!?
数字どうしの「1 + 3」は4となりますが、文字がある「'1' + 3」は4になりません。
int i = '1' + 4;
System.out.println(i);
この結果は「52」になります。つまり、文字である「'1'」は数字の「49」とみなされていることがわかります。これはなぜでしょうか?
これは、「1」の文字コードが「0031」(16進数)だからです。そして16進数である「0031」を10進数に戻すと「49」となるのです。そのため文字である「'1'」は数値の「49」に変換されるのです。
このように、文字は数値として扱うことも可能で、当然以下のような計算ができます。
int i = 'a' + 3;
System.out.println(i);
この結果は「100」となります(「a」の文字コードは「0061」で、これを10進数にすると「97」となる)。
コメント
まだコメントはありません。