はじめに – 今日やること

前回の記事「Java入門 〜最初のプログラムを書く〜」で、「Hello World」が動きましたね!

まだ読んでいない方は、こちらの記事をご覧ください。

今日のテーマは、データを保存して使う方法です。

その鍵となるのが「変数」です。

「データ」や「変数」といった、あまり馴染みのない言葉が出てきますが、怖がらなくて大丈夫です!

実は、みなさんが日常で使っているものや考え方を、プログラムに置き換えてプログラミング用語として使っているだけです。

例えば、「年齢」や「名前」も、プログラムでは「変数」と呼ばれます。

今日のゴール

  • 変数を使ってデータを保存できるようになる
  • 変数を使った計算や、文字を繋げてみる
  • よく使うデータ型(4つ)がなんとなくわかる

ゆっくり、皆さんのペースでやっていきましょう!

データって何?

データとは、僕たちがよく使っている数字や文字のことです。

例えば、25太郎 といった数字や文字は、すべてデータです。

普段、私たちは: 口 + 文字(データ) = 相手に伝えられることができる

一方、プログラミングでは:プログラミング + 文字(データ) = コンピュータに伝えられることができる

つまり、データがなければ、何かを伝えることができないわけですね。

実は、前回みなさんが書いた "Hello World" も、データなんです!

データには「型」がある

データには、型(かた)という概念があります。

型とは、「箱の種類」のようなものです。

  • 数字を入れる箱(int型)
  • 文字を入れる箱(String型)
  • 正しい/間違いを入れる箱(boolean型)

Javaは、型を見て「これは数字だ」「これは文字だ」と判断して、適切に処理します。

型は、どんなデータを入れるかで決まります。

一度決めた型は、途中で変えることはできません。(将来的には、自分で新しい型を作ることもできますが、今は気にしなくてOK!)

変数って何? なぜ必要?

変数とは

変数とは、先ほど出てきたデータを一時的に入れておく箱のようなものです!

この箱のことを「変数」といいます。

なぜ変数が必要なのか?

では、変数を使うと何が良いのでしょうか?

それは、一度保存したデータを、何度でも使えるからです!

メリット1: 同じデータを繰り返し書かなくていい

変数がないと、毎回同じデータを書かないといけません。

例えば、"太郎" という名前を10回使う場合:

  • 変数がない場合: 10回とも "太郎" と書く必要がある
  • 変数がある場合: 1回だけ変数に入れれば、何度でも使える

メリット2: 修正が超簡単!

変数を使うと、修正がとても簡単になります。

例えば、100箇所に書いた名前を変更する場合:

  • 変数がない場合: 100箇所すべてを修正(30分かかる…)
  • 変数がある場合: 1箇所を変えるだけでOK!(10秒で完了!)

メリット3: ミスが減る

変数を使うと、入力ミスも減らせます。

何度も同じデータを書くと、どこかで間違えてしまう可能性がありますが、変数なら1回だけ正しく書けばOKです!

変数に入れられるデータは1つだけ

重要: 1つの変数には、1つのデータしか入れられません。

2つ、3つと複数のデータを入れることはできません。

もし複数のデータを扱いたい場合は、その数だけ変数を作ればOKです!

たくさん変数を作っちゃって大丈夫です。

では、実際に変数を使ってみましょう!

変数の基本 – 宣言と代入

変数を扱うためには、3つのステップが必要です。

  1. 宣言(箱を用意する)
  2. 代入(箱にデータを入れる)
  3. 使用(箱からデータを取り出す)

重要: この3ステップは、必ず1 → 2 → 3の順番で行う必要があります。

まだ箱がないのに、中身を入れようとしたらエラーになってしまいます。

ステップ1: 宣言(箱を用意する)

まず、変数を作ります。(宣言)

書き方:

データ型 変数名;

実際のコード例

int number;
String word;

これで変数を作ることができました!

ポイント:

  • データ型の右隣には、半角スペースが必要です
  • 最後に ;(セミコロン) を付けてください。セミコロンは「この命令はここまで」という終わりの印です

データ型(int, Stringなど)については、前の章で説明しました。今は気にせず読み進めちゃってください!

ステップ2: 代入(箱にデータを入れる)

次に、変数にデータを入れます(代入)。

書き方:

変数名 = データ;

実際のコード例

number = 10;
word = "猫";

これで、変数の中にデータを入れることができました!

ポイント:

  • 最後に ;(セミコロン) を付けてください
  • =の両隣にスペースを入れると、読みやすくなります(必須ではありませんが、推奨します)

ステップ3: 使用(箱からデータを取り出す)

最後に、変数を使って表示してみましょう!

実際のコード例

System.out.println(number);
System.out.println(word);

実行結果:

1
猫

これで、変数の中身を表示することができました!

重要なポイント:

変数を使う時は、“”(ダブルクォーテーション)を付けません

間違い: System.out.println("number");number という文字が表示される
正しい: System.out.println(number);1 が表示される

“”を付けてしまうと、変数ではなく「文字」として認識されてしまい、中に入っている 1 は無視されてしまいます。

宣言と代入を同時に行う(省略記法)

毎回この3ステップをやるのは大変なので、省略できる方法があります。

それは、宣言と代入を同時に行う方法です。

通常の書き方

// 宣言
int number;
// 代入
number = 1;

省略した書き方

// 宣言と代入を同時に
int number = 1;

実際の業務でも、この省略した形で出てくることが多いです。

どちらでも動作は同じなので、書きやすい方を使ってOKです!

変数名の付け方

変数名は、基本的に好きな名前を付けられます。

例えば、int ageString cat のような名前も付けられます。

変数名のルール

ただし、以下のルールがあります:

  • 先頭に数字を使えない(例: 1number はNG、number1 はOK)
  • Javaのキーワード(予約語)は使えない(例: int, class, public など)
  • 英数字と_(アンダースコア)が使える

わかりやすい名前を付けよう

変数名は、ab のような意味のない名前にしてしまうと、書いている途中に混乱してしまいます。

なるべくわかりやすい内容の単語を使うことをオススメします!

良い例:

  • age(年齢)
  • name(名前)
  • score(スコア)
  • price(価格)

悪い例:

  • a, b, c(何のデータかわからない)

データ型を理解しよう

変数を作る時には、必ずデータ型を指定する必要があります。

データ型とは、「どんな種類のデータを入れるか」を決めるものです。

Javaのデータ型一覧

Javaには、以下のようなデータ型があります。

データ型説明よく使う?
int整数25, 100
double小数3.14, 1980.5
boolean真偽(true/false)true, false
String文字列"太郎", "Hello"
long大きな整数123456789
float小数(doubleより精度が低い)3.14f
char1文字'A', 'あ'
byte小さな整数127×
short小さな整数32767×

まずは、この4つをマスターしよう!

これら全てを今すぐ覚える必要はありません。

よく使うのは、以下の4つです:

  • int(整数)
  • double(小数)
  • boolean(真偽)
  • String(文字列)

まずは、この4つの型をマスターしましょう!

残りの型は、必要になった時に学べば大丈夫です。

整数が複数あったり少数が複数あるこれらは何が違うのか、

答えは、扱えるデータの範囲(大きさ)が違うということです。

例えば:

  • intは、約-21億〜21億の整数を扱える
  • longは、もっと大きな整数を扱える
  • byteは、-128〜127の小さな整数だけ扱える

詳しい話は後で学びます。今は『大きさが違う』とだけ覚えておきましょう!

よく使う4つの型を詳しく見てみよう

int(整数)

整数を扱う型です。年齢、個数、スコアなどに使います。

int age = 25;
int score = 100;

double(小数)

小数を扱う型です。価格、温度、割合などに使います。

double price = 1980.5;
double temperature = 36.5;

boolean(真偽)

正しい/間違い、ON/OFFなどを扱う型です。true(正しい)かfalse(間違い)の2つだけです。

boolean isStudent = true;
boolean isRaining = false;

String(文字列)

文字列を扱う型です。名前、メッセージなどに使います。

String name = "太郎";
String message = "こんにちは";

これで、データ型の基本がわかりましたね!

次は、実際に変数を使った計算をしてみましょう!

実践:簡単なプログラムを作ろう

ここまで学んだことを使って、実際にプログラムを作ってみましょう!

前回の手順でVSCodeを起動して新しいjavaファイルを作成してみましょう

例1: 自己紹介プログラム

自分の名前、年齢、学生かどうかを表示するプログラムです。

Training01.javaクラスを作成して中にメインメソッドを記述します。

注意:スペースや大文字小文字には気を付けましょう!

コード:

String name = "JB";
int age = 25;
boolean isStudent = false;

System.out.println("私の名前は" + name + "です");
System.out.println("年齢は" + age + "歳です");
System.out.println("学生ですか?" + isStudent);

実行結果:

私の名前はJBです
年齢は25歳です
学生ですか?false

このプログラムでは:

  1. 3つの変数(name, age, isStudent)を宣言・代入
  2. 文字列と変数を結合して表示

という流れになっています!

例2: 簡単な計算プログラム

商品の価格と個数から、合計金額を計算するプログラム作成してみましょう!

Training02.javaクラスを作成して中にメインメソッドを記述します。

注意:スペースや大文字小文字には気を付けましょう!

コードのヒント:

int price = 1000;
int quantity = 3;
int total = price * quantity;

System.out.println("合計金額:" + total + "円");

このプログラムでは:

  1. 価格(price)と個数(quantity)を変数に代入
  2. 掛け算で合計(total)を計算
  3. 結果を表示

という流れになっています!

自分で試してみよう!

では、今日習った内容でプログラムを自分で作成してみましょう!

試してみること:

  • 名前を自分の名前に変えてみる
  • 年齢を自分の年齢に変えてみる
  • isStudenttrue に変えてみる
  • 価格や個数を変えて、合計金額を計算してみる
  • もう1行追加して、趣味や好きな食べ物を表示してみる

例えば、こんな風に変えてみましょう:

String name = "太郎";
int age = 30;
String hobby = "プログラミング";

System.out.println("私の名前は" + name + "です");
System.out.println("年齢は" + age + "歳です");
System.out.println("趣味は" + hobby + "です");

何度も書いて、実験してみてください!

失敗しても大丈夫。何度でもやり直せます。

📝 用語の補足

ちなみに、「データ」のことを「値」とも言います。

今後、僕も「値」という言葉を使うことがあるかと思いますが、その時は「データのことだな」と思ってください!

「値」も「データ」も、同じ意味です。

よくあるエラーと解決方法

プログラムを書いていると、エラーが出ることはよくあります。

エラーは敵じゃありません。 エラーメッセージは、コンピュータからの「ここを直してね」というヒントです。

落ち着いて、以下を確認してみましょう。

エラー1: 「variable might not have been initialized」

エラーメッセージ:

HelloWorld.java:3: error: variable number might not have been initialized
        System.out.println(number);
                           ^

意味:

「変数が初期化されていないかもしれません」

原因:

変数を宣言したけど、値を入れずに使おうとしました。

よくあるパターン:

int age;
System.out.println(age); // エラー! 値が入っていない

解決策:

使う前に、必ず値を代入してください。

int age;
age = 25; // 値を代入
System.out.println(age); // OK!

または、宣言と代入を同時に行います:

int age = 25; // これならOK!
System.out.println(age);

エラー2: 「cannot find symbol」

エラーメッセージ:

HelloWorld.java:3: error: cannot find symbol
        System.out.println(naem);
                           ^
  symbol:   variable naem
  location: class HelloWorld

意味:

「シンボルが見つかりません」

原因:

  • 変数名のスペルミス
  • 宣言していない変数を使おうとした

よくあるパターン:

String name = "太郎";
System.out.println(naem); // エラー! nameのスペルミス

または

System.out.println(age); // エラー! ageを宣言していない

解決策:

  1. 変数名のスペルを確認してください
  2. 変数を宣言しているか確認してください
String name = "太郎";
System.out.println(name); // OK!

エラー3: 「incompatible types」

エラーメッセージ:

HelloWorld.java:3: error: incompatible types: String cannot be converted to int
        int age = "25";
                  ^

意味:

「互換性のない型です」

原因:

データ型が合わない(intにStringを入れようとした、など)

よくあるパターン:

int age = "25"; // エラー! intに文字列を入れようとしている

解決策:

データ型を確認して、正しい型で宣言し直してください。

int age = 25; // OK! ""を外す

または

String age = "25"; // OK! String型にする

エラーメッセージの読み方

エラーメッセージには、以下の情報が含まれています:

  • ファイル名と行番号: HelloWorld.java:3 → 3行目にエラーがある
  • エラーの種類: error: cannot find symbol → シンボルが見つからない
  • 問題の箇所: ^ の記号で示される

この情報を手がかりに、コードを見直してみましょう。

それでも解決しない場合

上記のエラー以外が出た場合や、どうしても解決できない場合は、お気軽にお問い合わせください!

お問い合わせ方法:

お問い合わせの際は、以下の情報を教えていただけると助かります:

  • 出ているエラーメッセージの全文(コピー&ペーストでOK)
  • 書いたコード

エラーが出ても、焦らないでください。

プロのエンジニアでも、毎日エラーと戦っています。エラーを解決するたびに、あなたの力は確実に伸びています!

次に学ぶべきこと

お疲れ様でした! 今日は変数をマスターしましたね。

本当にすごい事です!

今回はボリュームがあるので疲れたと思います。ゆっくり休んでください。

今日学んだこと

  • 変数とは何か、なぜ必要なのか
  • 変数の宣言・代入・使用の3ステップ
  • よく使う4つのデータ型(int, String, boolean, double)
  • 変数を使った計算と文字列の結合

次のステップ: if文を学ぼう

次に学ぶのは、if文(条件分岐)です。

if文を学ぶと、「もし〜なら」という条件によって、プログラムの動きを変えられるようになります!

例えば:

  • 「もし年齢が20歳以上なら、『成人です』と表示する」
  • 「もし点数が60点以上なら、『合格』と表示する」

こんなことができるようになります。

変数 + if文 = プログラミングの基礎が完成!

この2つがあれば、やりたいことの大部分が実現できます。焦らず、一緒に頑張りましょう!

まとめ

今日学んだことを振り返ってみましょう。

今日のポイント

✅ 変数はデータを入れる「箱」

✅ よく使うデータ型は4つ(int, String, boolean, double)

✅ 宣言 → 代入 → 使用の3ステップ

✅ 変数を使って計算や文字列の組み合わせができる

✅ 次はif文を学ぼう!

今日、あなたは変数をマスターしました!

データを保存して、計算したり、組み合わせたりできるようになりましたね。

この調子で、次のステップに進みましょう!

次に読むべき記事

次は、if文を学んで、プログラムに「判断する力」を与えましょう!

  • Java入門 〜if文で条件分岐をマスターする〜(体調不要により延期・・・執筆中 1/6予定)
    「もし〜なら」という条件によって、プログラムの動きを変える方法を学びます。

前回・関連記事

質問や感想をお待ちしています!

この記事でわからなかったことや、つまずいたポイントがあれば、お気軽にコメント欄やお問い合わせフォームからご連絡ください!

また、「変数がわかりました!」の報告も大歓迎です。一緒に喜びたいです!

それでは、次の記事でお会いしましょう!