
【6日でできるJava入門】特殊なリテラル
ここでは、Javaプログラムで扱う「特殊なリテラル」について学びます。リテラルとは、プログラム内に直接記述された値のことを指し、通常の数値・文字・文字列だけでなく、型や書き方、特別な記号・表現が存在します。Javaのリテラルには暗黙の型変換、進数表記、エスケープシーケンスなど多くの特徴があり、これらを正しく理解することで柔軟なプログラミングが可能になります。

1.数値・型に関する特殊なリテラル
1.1. 暗黙の型変換と明示的な型指定
| 書き方 | 解説 | 例 |
|---|---|---|
| int型リテラル | そのまま記述でint型として扱われる | int n = 100; |
| 暗黙の型変換 | 代入先の型がbyteやshortでも、範囲内なら自動変換される | byte b = 100; |
| 明示的な型指定 | long, float, double型でリテラルを使いたい場合、末尾に記号を付加 | long l = 1234L;float f = 3.14F;double d = 2.718D; |
注意例:範囲外はエラーになる
byte b = 200; // エラー(byteの範囲は-128〜127)1.2. 数値リテラルの進数指定
| 表記 | 意味 | 例 |
|---|---|---|
| 10進数 | 普通に記述 | int n = 15; |
| 8進数 | 先頭に0を付加 | int n = 012; |
| 16進数 | 先頭に0xを付加 | int n = 0xA5; |
例:さまざまな数値リテラル
int dec = 255; // 10進数
int oct = 0377; // 8進数(255)
int hex = 0xFF; // 16進数(255)1.3. 計算式と型指定の注意
double d1 = 10 / 3; // int型同士なので結果は3(小数点切り捨て)
double d2 = 10D / 3D; // double型同士なので3.333...となる
System.out.println("d1=" + d1 + " d2=" + d2);実行結果
d1=3.0 d2=3.33333333333333352.特殊文字(エスケープシーケンス)
2.1. よく使う特殊文字の一覧
| 特殊記号 | 意味(機能) |
|---|---|
| \b | バックスペース |
| \t | タブ |
| \n | 改行 |
| \f | フォームフィード |
| \r | 復帰(キャリッジリターン) |
2.2. エスケープが必要な記号の表現
| 表示したい文字 | 書き方 | 説明 |
|---|---|---|
| ' | \' | シングルクォート |
| " | \" | ダブルクォート |
| \ | \\ | バックスラッシュ |
例:特殊文字の出力プログラム
ファイル名: lesson06_1.java
public class lesson06_1 {
public static void main(String[] args) {
System.out.println("バックスラッシュ: \\");
System.out.println("シングルクォート: \'");
System.out.println("ダブルクォート: \"");
System.out.println("改行:\nここで改行されます。");
System.out.println("タブ区切り:\tA\tB\tC");
}
}実行結果
バックスラッシュ: \
シングルクォート: '
ダブルクォート: "
改行:
ここで改行されます。
タブ区切り: A B C特殊文字のまとめ
| 記号 | ASCIIコード(16進/10進) | 機能 |
|---|---|---|
| \b | 08 / 8 | バックスペース |
| \t | 09 / 9 | タブ |
| \n | 0A / 10 | 改行 |
| \f | 0C / 12 | フォームフィード |
| \r | 0D / 13 | キャリッジリターン(復帰) |
| ' | 27 / 39 | シングルクォート |
| " | 22 / 34 | ダブルクォート |
| \ | 5C / 92 | バックスラッシュ |
このように、Javaではリテラルや特殊文字に独自のルールや書き方があり、場面に応じて正しく使い分けることが大切です。特殊なリテラルを理解して、表現力豊かなプログラムを作成しましょう。
