charプリミティブ
文字とUnicodeを学びます。
「charプリミティブ」はCoddyKit上の無料Java Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはJava Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Java Academyコースには全4レッスンが含まれています。
char とは何ですか
char は、文字、数字、記号などの1文字を保持する Java のプリミティブ型です。
char 値はシングルクォートで囲んで記述します。'A'、'7'、'?' のように書きます。ダブルクォートを使うと String になるため、"A" は char ではありません。
char grade = 'A';
char symbol = '#';char を出力する
char を変数に格納し、ほかの値と同じように出力できます。
ここでは、char を宣言して出力する完全なプログラムを示します。文字の周りにシングルクォートがあることに注目してください。
public class Main {
public static void main(String[] args) {
char first = 'J';
System.out.println(first);
}
}char は本当に数値です
内部的には、すべての char が Unicode テーブルの数値コードを持っています。'A' のコードは 65、'a' のコードは 97 です。
char を int に代入すると、Java はそのコード番号を渡します。
public class Main {
public static void main(String[] args) {
char c = 'A';
int code = c;
System.out.println(code);
}
}char で計算する
char は数値なので、算術演算を行えます。'A' に 1 を加えると次のコードに移動し、'B' になります。
再び文字として表示するには、結果を char にキャストしてください。
public class Main {
public static void main(String[] args) {
char a = 'A';
char next = (char) (a + 1);
System.out.println(next);
}
}数字の char と数値の違い
注意してください。char の '5' は数値の 5 ではありません。文字 '5' の Unicode コードは 53 です。
数字の char を本来の数値に変換するには、そこから '0' を引きます。これは、数字のコードが順番に並んでいるため機能します。
public class Main {
public static void main(String[] args) {
char d = '5';
int value = d - '0';
System.out.println(value);
}
}特殊なエスケープ文字
一部の文字は、バックスラッシュによるエスケープで記述します。'\n' は改行、'\t' はタブ、'\'' はシングルクォートです。
コード上では2つの記号を使いますが、どのエスケープも1つの char です。
char tab = '\t';
char quote = '\'';
char newline = '\n';文字を比較する
char は内部の数値を比較するため、==、<、> で比較できます。
'a' は 97、'b' は 98 なので、式 'a' < 'b' は true になります。
public class Main {
public static void main(String[] args) {
char x = 'a';
char y = 'b';
System.out.println(x < y);
}
}switch で char を使う
char は switch 文で使うと、case の選択に便利です。
各 case ラベルには、シングルクォートで囲んだ char を指定します。メニューの選択肢や採点に役立ちます。
public class Main {
public static void main(String[] args) {
char grade = 'B';
switch (grade) {
case 'A': System.out.println("Great"); break;
case 'B': System.out.println("Good"); break;
default: System.out.println("Keep going");
}
}
}char のデフォルト値
char フィールドに値が指定されていない場合、デフォルト値はコード 0 の null 文字で、'\u0000' と記述します。
メソッド内のローカル変数にはデフォルト値がないため、使用する前に char を代入しなければ、コードはコンパイルできません。
char letter;
letter = 'Z';
System.out.println(letter);Unicode エスケープ
4桁の16進数を '\u' の後ろに続けることで、Unicode コードを使って任意の char を記述できます。
たとえば、'\u0041' は文字 'A' です。これにより、直接入力しにくい文字も含められます。
public class Main {
public static void main(String[] args) {
char a = '\u0041';
System.out.println(a);
}
}char の範囲の上限
char は符号なし16ビット値なので、0 から 65535 までのコードを保持できます。負の値にはなりません。
これは、Unicode に格納された文字、数字、多くの言語の文字を扱うのに十分な範囲です。
public class Main {
public static void main(String[] args) {
char max = (char) 65535;
int code = max;
System.out.println(code);
}
}クイックチェック
char プリミティブについての理解度を確認しましょう。
まとめ
char はシングルクォートで囲んだ1文字を保持し、その実体は Unicode の数値です。
char に対して計算や比較を行えます。また、数字の char から '0' を引くことで数値に変換できます。コードを char にキャストし直すと、目に見える文字になります。
よくある質問
「charプリミティブ」レッスンは無料ですか?
はい。「charプリミティブ」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Java Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Java Academyコースには全4レッスンが含まれています。
「charプリミティブ」で何を学びますか?
文字とUnicodeを学びます。 ブラウザで直接実行するハンズオンコードでJava Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Java Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのJava Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「charプリミティブ」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このJava Academyレッスンでコードを書いて実行できますか?
はい。すべてのJava Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- charプリミティブ
- 文字ヘルパーメソッド
- 文字をループ処理する
- 文字のカウントとフィルタリング