このファイルを そのまま保存して実行すると、練習問題と出力結果、間違った例の注意点を確認できます。
public class UnderscoreExample {
public static void main(String[] args) {
System.out.println("=== 練習問題 ===");
// 問題1: 1,000,000 を桁区切りを使って書いてみよう
int q1 = 1_000_000;
System.out.println("Q1: " + q1);
// 問題2: 12,345,678 を桁区切りを入れて書いてみよう
int q2 = 12_345_678;
System.out.println("Q2: " + q2);
// 問題3: 2進数 11011010 を桁区切りを入れて書こう
int q3 = 0b1101_1010;
System.out.println("Q3: " + q3);
// 問題4: 16進数 0xABCD を桁区切りを入れて書こう
int q4 = 0xAB_CD;
System.out.println("Q4: " + q4);
// 問題5: 小数 3.14159265 を桁区切りを入れて書こう
double q5 = 3.14_15_92_65;
System.out.println("Q5: " + q5);
// 問題6: 1,234 を間違った場所に _ を入れるとコンパイルエラーになる例
// int q6 = _1_234; // ❌ コメントアウト
System.out.println("Q6: int q6 = _1_234; はエラーになる");
// 問題7: 1234_ を使った間違い例
// int q7 = 1234_; // ❌ コメントアウト
System.out.println("Q7: int q7 = 1234_; はエラーになる");
// 問題8: 小数点の前後に _ を使った間違い例
// double q8 = 123._456; // ❌ コメントアウト
System.out.println("Q8: double q8 = 123._456; はエラーになる");
// 問題9: 正しい小数の桁区切り
double q9 = 1_234.567_89;
System.out.println("Q9: " + q9);
// 問題10: 大きな数を3桁ごとに見やすく書く
long q10 = 123_456_789_012L;
System.out.println("Q10: " + q10);
System.out.println("\n=== 練習問題 解説 ===");
System.out.println("Q1〜Q5, Q9, Q10: _ は見やすくするだけで出力には影響なし");
System.out.println("Q6〜Q8: 数字の先頭・末尾や小数点の前後に _ を入れるとコンパイルエラー");
}
}
Java説明・解説ポイント
- アンダーバー
_は桁を区切るだけ- コードの可読性向上に使う
- 実行結果には
_は出ない
- 整数・浮動小数点・2進数・16進数すべてに使用可能
- 使えない場所
- 数字の先頭・末尾
- 小数点の直前・直後
- 長い数は3桁ごとに区切るのが目安
- 例:
123_456_789
- 例:
