演習: 変数とデータ型
各問題のコードは、Main クラスの main メソッドの中に書く前提です。コード例は省略形で示します。
2-A. はじめての Java プログラム
Section titled “2-A. はじめての Java プログラム”Hello, Java! と出力するプログラムを書いてください。クラス定義から main メソッドまで、全体を書きます。
出力例:
Hello, Java!ヒント
ファイル名を Main.java とし、public class Main { ... } の中に public static void main(String[] args) { ... } を書きます。文字列の出力には System.out.println() を使います。
2-B. 商品情報の出力
Section titled “2-B. 商品情報の出力”商品名と価格を変数に入れて、出力例の通りに出力してください。
String item = "ノート";int price = 250;出力例:
ノート: 250円ヒント
+ 演算子で文字列と数値を連結できます。String と int を + で繋ぐと、int が文字列に変換されて連結されます。
2-C. 円の面積
Section titled “2-C. 円の面積”半径を変数に入れて、円の面積を計算して出力してください。円周率は Math.PI を使います。
double radius = 5.0;出力例:
半径5.0の円の面積: 78.53981633974483ヒント
円の面積は 半径 × 半径 × 円周率 です。Math.PI は java.lang.Math クラスの定数で、import なしで使えます。
2-D. long が必要な場面
Section titled “2-D. long が必要な場面”世界人口(約81億人 = 8_100_000_000)を変数に入れて出力してください。int では値の範囲を超えるので、long を使います。
出力例:
世界人口: 8100000000ヒント
int の最大値は約21億(2_147_483_647)なので、これを超える値は long で扱います。long のリテラルは末尾に L を付けます: long x = 8_100_000_000L;。L を付け忘れると int のリテラルとして解釈されてコンパイルエラーになります。
数値リテラル中の _(アンダースコア)は桁区切りとして使え、可読性のために入れられます。値には影響しません。
2-E. char と String の違い
Section titled “2-E. char と String の違い”grade に文字 'A' を、subject に文字列 "数学" を入れて、出力例の通りに出力してください。
出力例:
教科: 数学評価: Aヒント
char は1文字を扱う型で、シングルクォート ' ' で囲みます。String は文字列を扱う型で、ダブルクォート " " で囲みます。'A' と "A" は別物です(前者は char、後者は String)。
2-F. final で定数
Section titled “2-F. final で定数”消費税率を final で定数として定義し、商品価格から税込み価格を計算して出力してください。
final double TAX_RATE = 0.10;int price = 1500;出力例:
税込価格: 1650.0円ヒント
final を付けた変数は後から再代入できません。定数の名前は慣例的に大文字とアンダースコアで書きます(例: TAX_RATE)。
int と double を掛ける/足すと、結果は double になります。そのため出力が 1650 ではなく 1650.0 になります。
2-G. var による型推論
Section titled “2-G. var による型推論”以下の変数宣言を、すべて var を使って書き換えて、それぞれを出力してください。
String city = "東京";int population = 13960000;double averageTemperature = 15.6;boolean isCapital = true;ヒント
var はローカル変数の型を初期化式から自動で推論する機能です(Java 10以降)。var city = "東京"; と書くと、コンパイラーが String 型と判断します。初期化式が必須なので、var x; のような初期値なしの宣言はできません。
2-H. テキストブロックで領収書
Section titled “2-H. テキストブロックで領収書”テキストブロック("""...""")を使って、以下の領収書を1つの変数に入れ、出力してください。
出力例:
========================= 領収書=========================品名: ノート価格: 250円=========================ヒント
テキストブロックは Java 15 で導入された機能で、複数行の文字列を直接書けます。
String text = """内容複数行を書ける""";開始の """ の直後で改行する必要があります。インデントは、最も左にある行の位置を基準に自動で調整されます。
2-I. エスケープシーケンス
Section titled “2-I. エスケープシーケンス”エスケープシーケンスを使って、以下の出力を作るプログラムを書いてください。
出力例:
名前 年齢 出身田中 25 東京佐藤 30 大阪"以上、2件の登録があります。"ヒント
\t でタブ、\n で改行、\" で文字列内のダブルクォートを表現します。
2-J. プロフィールカード
Section titled “2-J. プロフィールカード”プロフィールカードを出力するプログラムを書いてください。
String name = "山田花子";int age = 22;double height = 162.5;char gender = 'F';boolean isStudent = true;出力例:
=== プロフィール ===名前: 山田花子年齢: 22身長: 162.5cm性別: F学生: true==================ヒント
+ 演算子で文字列と各種型の値を連結できます。int、double、char、boolean のいずれも、String と + で連結すると自動的に文字列に変換されます。