Java入門 STEP2|変数とデータ型を学ぼう

karin@taishi@felmia

このSTEPでのコードの進め方

このSTEPでは、いくつかのJavaプログラムを実際に作って動かしていきます。

新しいプログラムを試すときは、その都度新しいクラスを作成します。

前に作ったクラスは消さずに残しておくので、あとから見直すこともできます。

クラスの作り方はSTEP1と同じです。
「src」を右クリックして、「新規」→「クラス」の順にクリックしてください。

クラスを作成するときは、「public static void main(String[] args)」にもチェックを入れます。

変数とは?

プログラムでは、数字や文字などのデータを一時的に保存しておきたい場面がよくあります。
そのときに使うのが「変数」です。

変数は、データを入れておくための箱のようなものだと考えると分かりやすいです。

例えば、年齢を保存したい場合は「age」という名前の変数を用意して、その中に35という値を入れることができます。

int age = 35;
ルミィ
ルミィ

変数は「名前を付けた箱」みたいなものだよ!
何を入れている箱なのか分かる名前を付けると読みやすくなるよ♪

変数を使ってみよう

変数の基本が分かったところで、実際にJavaのプログラムで使ってみましょう。

まずは、新しくVariableSampleクラスを作成してください。

作成するときは、「public static void main(String[] args)」にもチェックを入れます。

VariableSampleクラスが作成できたら、次のようにコードを入力します。

public class VariableSample {

    public static void main(String[] args) {
        int age = 35;

        System.out.println(age);
    }

}

実行すると、コンソールに次のように表示されます。

35

コードの意味を確認しよう

  • int:整数を扱うためのデータ型
  • age:変数の名前
  • 35:変数に入れる値
  • =:右側の値を左側の変数に代入する
  • ;:文の終わり

「=」の意味に注意

Javaでは、= は「同じ」という意味ではありません。
右側の値を左側の変数に入れる「代入」という意味で使います。

たとえば、

int age = 35;

は、「ageと35は同じ」という意味ではなく、「ageに35を代入する」という意味です。

データ型とは?

Javaでは、変数を作るときに「どのような種類のデータを入れるのか」を決めます。

このデータの種類を「データ型」と呼びます。

例えば、先ほど使用した次のコードでは、

int age = 35;

int がデータ型です。

int は整数を扱うためのデータ型なので、35100-10 などの整数を入れることができます。

Javaにはさまざまなデータ型がありますが、最初からすべて覚える必要はありません。
まずは、よく使うデータ型から覚えていきましょう。

よく使うデータ型

Javaには多くのデータ型があります。
まずは、次の4つを覚えておきましょう。

データ型扱うデータ
int整数100-10
double小数3.1498.5
String文字列"Hello""Java"
booleantrue / falsetruefalse

それぞれのデータ型を実際に使ってみましょう。

まずは int

int age = 35;

整数を扱うときに使います。

double

double height = 170.5;

小数を扱うときに使います。

String

String name = "Lumy";

文字列を扱うときに使います。

文字列は "(ダブルクォーテーション)で囲みます。

boolean

boolean isStudent = true;

true(真)または false(偽)のどちらかを扱います。

ほかのデータ型

Javaには、ほかにもデータ型があります。
ここでは、longfloatchar の3つだけ紹介します。

データ型どんなときに使う?目安
longintに収まらない大きな整数を扱うとき最大約19桁
float小数を扱うとき約6~7桁の精度
char1文字だけを扱うとき'A' など

longintより大きな整数を扱えます。
intは約-21億~21億、longはそれよりもはるかに大きな整数を扱えます。

floatdoubleと同じように小数を扱いますが、精度はdoubleより低くなります。
floatが約6~7桁、doubleが約15~16桁の精度です。

この講座では、整数はまずint、小数はdoubleを中心に使っていきます。

変数の値を変更してみよう

変数に入れた値は、あとから変更することができます。

実際に確認してみましょう。

今回は、新しくChangeValueSampleクラスを作成してください。

ChangeValueSampleクラスが作成できたら、次のコードを入力します。

public class ChangeValueSample {

    public static void main(String[] args) {
        int age = 20;
        age = 21;

        System.out.println(age);
    }

}

最初に、ageという変数を作り、20を代入しています。

int age = 20;

次に、ageに新しく21を代入しています。

age = 21;

このとき、もう一度intを書く必要はありません。

int age = 20;で変数を作ったあとは、変数名を使って新しい値を代入できます。

そのため、

System.out.println(age);

を実行すると、次のように表示されます。

21

変数に新しい値を代入すると、それまで入っていた値は新しい値に置き換わります。

今回は、ageに入っていた2021に変わったということです。

文字列を使ってみよう

ここまでは、整数を扱うintを使ってきました。

次は、文字列を扱うStringを実際に使ってみましょう。

今回は、新しくStringSampleクラスを作成してください。

StringSampleクラスが作成できたら、次のコードを入力します。

public class StringSample {

    public static void main(String[] args) {
        String name = "Lumy";

        System.out.println(name);
    }

}

String name = "Lumy";では、nameという変数を作り、"Lumy"という文字列を代入しています。

実行すると、次のように表示されます。

Lumy

文字列を変数に入れるときは、文字を"(ダブルクォーテーション)で囲みます。

文字列と変数を組み合わせてみよう

今作ったStringSampleを少し変更して、文字列と変数を組み合わせてみましょう。

System.out.printlnの部分を、次のように変更します。

System.out.println("こんにちは、" + name + "さん");

実行すると、次のように表示されます。

こんにちは、Lumyさん

+を使うことで、文字列と変数の中に入っている文字列をつなげることができます。

今回のコードでは、

"こんにちは、"
name
"さん"

の3つをつなげて表示しています。

+については、次のSTEPで詳しく学びます。

今の段階では、「+を使うと文字列をつなげることができる」と覚えておけば大丈夫です。

データ型を変換してみよう

ここまで、intdoubleなど、いくつかのデータ型を使ってきました。

プログラムを書いていると、あるデータ型の値を、別のデータ型として扱いたいことがあります。

例えば、int型の値をdouble型として扱う場合です。

まずは、次のコードを見てみましょう。

int number = 10;
double value = number;

numberint型ですが、その値をdouble型のvalueに代入しています。

この場合はJavaが自動的に型を変換してくれるため、特別な書き方は必要ありません。

valueには10.0として値が入ります。

なぜ自動で変換できるの?

int10は、doubleに変換しても10.0として表すことができます。

このように、値をそのまま扱える型への変換では、Javaが自動的に変換してくれる場合があります。

では、反対の場合はどうでしょうか。

double value = 10.5;
int number = value;

このコードはエラーになります。

doubleには10.5のような小数を入れることができますが、intでは小数部分を扱うことができません。

そのため、Javaが勝手に10.510へ変えてしまうことはありません。

キャストを使って型を変換してみよう

それでも、double型の値をint型へ変換したい場合があります。

そのようなときは、変換したい型を()の中に書きます。

新しくCastSampleクラスを作成してください。

public class CastSample {

    public static void main(String[] args) {
        double value = 10.5;
        int number = (int) value;

        System.out.println(number);
    }

}

実行結果

10

今回使った、

(int) value

では、valueの値をint型へ変換しています。

このように、変換したい型を指定して型を変換することを**「キャスト」**と呼びます。

小数部分はどうなった?

元のvalueには、

10.5

が入っていました。

これをint型へキャストすると、結果は、

10

になりました。

int型では小数部分を扱えないため、小数部分が切り捨てられます。

四捨五入されているわけではないことにも注意してください。

例えば、

double value = 10.9;
int number = (int) value;

としても、number11ではなく10になります。

キャストすると値が変わることがある

データ型を変換すると、元の値をそのまま保持できない場合があります。

例えば、

10.5(int)10

となり、小数部分は失われます。

キャストするときは、変換によって値が変わらないかにも注意しましょう。

キャストが役立つ場面

キャストは、計算するときにも使うことがあります。

例えば、次の計算を見てみましょう。

int total = 235;
int count = 3;

double average = total / count;

一見すると、double型のaverageへ代入しているので、小数まで計算できそうに見えます。

しかし、total / countint同士の計算です。

そのため、先に整数として、

235 / 378

と計算され、そのあとdoubleへ変換されます。

結果は78.0です。

小数部分まで計算したい場合は、次のように書くことができます。

double average = (double) total / count;

型変換には順番も大切

double average = total / count;

int同士で割り算してからdoubleになる
78.0

double average = (double) total / count;

totaldoubleにしてから割り算する
78.33333333333333

変数をdouble型にするだけではなく、計算するときにどのデータ型として扱われているかも確認しましょう。

ルミィ
ルミィ

doubleの変数に入れれば全部小数になる、ではないんだね!
「計算するときの型」にも注目してみよう♪

よくある間違い

変数やデータ型を使い始めると、ちょっとした書き間違いでエラーになることがあります。

ここでは、特に間totalを先にdouble型へキャストすることで、整数同士ではなく、小数を扱える計算になります。

結果は、

78.33333333333333

となります。違えやすいものをいくつか見てみましょう。

変数を作るときにデータ型を書いていない

変数を初めて作るときは、変数名の前にデータ型が必要です。

⚠ 間違った例

age = 35;

この書き方では、まだageという変数が作られていません。

〇 正しい例

int age = 35;

一度作った変数に新しい値を代入するときは、データ型を書く必要はありません。

int age = 35;
age = 36;

同じ変数をもう一度作っている

同じ場所で、同じ名前の変数をもう一度作ることはできません。

⚠ 間違った例

int age = 20;
int age = 21;

Stringの文字を「”」で囲んでいない

Stringに文字列を代入するときは、文字を"(ダブルクォーテーション)で囲みます。

⚠ 間違った例

String name = Lumy;

〇 正しい例

String name = “Lumy”;

データ型と合わない値を入れている

変数には、そのデータ型で扱える値を入れる必要があります。

例えば、intは整数を扱うためのデータ型です。

⚠ 間違った例

int age = “35”;

"35"はダブルクォーテーションで囲まれているため、整数ではなく文字列として扱われます。

〇 正しい例

int age = 35;

STEP2のまとめ

このSTEPでは、Javaでデータを扱うための「変数」と「データ型」について学びました。

最後に、今回のポイントを振り返っておきましょう。

  • 変数は、データを一時的に保存しておくために使う
  • 変数を作るときは、データ型と変数名を指定する
  • =を使って、変数に値を代入する
  • 変数に入れた値は、あとから変更できる
  • 整数にはint、小数にはdoubleを使う
  • 文字列にはString、true / falseにはbooleanを使う
  • 文字列は"(ダブルクォーテーション)で囲む
  • +を使うと、文字列と変数をつなげて表示できる

すべてを一度で覚えなくても大丈夫です。

これからプログラムを書いていく中で何度も使うので、まずは「変数を作って、値を入れて、使う」という流れを覚えておきましょう。

ルミィ
ルミィ

STEP2クリア!
変数はこれから何度も使うから、分からなくなったらいつでも戻って確認してね♪

次のSTEPへ

このSTEPでは、intdoubleStringなどのデータ型と、値を保存するための変数について学びました。

変数を使えるようになると、プログラムの中でさまざまなデータを扱えるようになります。

では、変数に入れた数値を使って計算したり、値を比較したりするにはどうすればよいでしょうか?

次のSTEPでは、

int total = price * count;

のような計算や

score >= 80

のような比較に使う「演算子」について学びます。

足し算や引き算だけでなく、Javaで条件を組み立てるときにも必要になる内容です。

STEP3「演算子を使ってみよう」

記事URLをコピーしました