0Pricing
Java Academy · レッスン

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フィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. charプリミティブ
  2. 文字ヘルパーメソッド
  3. 文字をループ処理する
  4. 文字のカウントとフィルタリング
← Java Academyに戻る