Java
 Computer >> コンピューター >  >> プログラミング >> Java

Java変数とは?初心者向けに基本からわかりやすく解説

Java変数の使い方

変数とは何でしょうか?変数はプログラミングにおいて不可欠な概念であり、これがなければアプリケーション開発は格段に難しくなります。

変数とは、コード内で使用する値に名前(ラベル)を付ける仕組みです。変数は一度宣言すれば、プログラムの中で何度でも再利用できるため非常に便利です。変数を使えば、同じ値をコードに繰り返し書く必要がありません。

このガイドでは、変数とは何か、どのように動作するのか、Javaプログラムで変数を扱う方法について詳しく解説します。それでは始めましょう!

Java変数とは?

変数とは、名前(ラベル)と関連付けられた値のことです。この名前を使うことで、変数が保持している値を参照できます。

変数はジャムの瓶に貼られたラベルだと考えてください。ラベルを見れば、その瓶の中身がイチゴジャムなのか、ラズベリージャムなのか、あるいは別の味なのかがひと目でわかります。

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

String jam = "Raspberry";

ここでは「jam」というJava変数を作成しました。コード内で「jam」変数を参照するたびに、その変数が保持している値にアクセスできます。つまり、「Raspberry」という文字列をコード内で何度も繰り返し書く必要はありません。

Java変数は次の構文を使用します。

type name = value;

type は変数に格納されるデータの型です。一度設定すると変更できません。name は変数の名前、value はその名前と共に格納される値です。

変数を宣言したので、その値にアクセスできます。「jam」変数の値を出力してみましょう。

System.out.println(jam);

このコードを実行すると、Raspberry が出力されます。

変数が格納できるのは文字列だけではありません。任意のデータ型を格納できます。例えば、10という値を変数に格納したい場合は、次のように記述します。

int a = 10;
System.out.println(a);

このコードは10を出力します。変数に値を格納すると、その値を自由に操作できます。先ほどの変数を使って計算してみましょう。

int a = 10;
int b = a - 5;
System.out.println(b);

このプログラムは5を出力します。計算はJavaがすべて行ってくれます。計算結果を変数に代入しておくと、答えを何度も参照できるため便利です。

計算は変数を宣言するときの一度だけでよく、その結果はプログラム全体で使い回せます。

変数には他のデータ型も使えます。例えば、クラスのオブジェクトを変数に代入することも可能です。浮動小数点数、文字、ブール値を使った変数の例をいくつか紹介します。

float price = 2.99f;
char grade = 'F';
boolean lightsOn = true;

変数は、コード内に値を格納するためのラベルのようなものだと言えます。

変数の再代入

名前の通り、変数は値を変えられます。Javaには、一度宣言した変数の値は変更できないというルールはありません。したがって、変数はプログラム全体を通して同じままである必要はありません。

変数を再代入するには、変数名、等号(=)、そして新しい値をこの順で指定します。

String jam = "Raspberry";
System.out.println(jam);

jam = "Strawberry";
System.out.println(jam);

このコードの出力は次の通りです。

Raspberry
Strawberry

再代入の際にデータ型を指定する必要はありません。これは、Javaが変数に割り当てられたデータ型を自動的に記憶しているためです。

変数の再代入が重要なのは、プログラムの実行中に値を変更できるからです。

例えば、数当てゲームでは、3回しか数字を予想できないようにカウンターの値を変更する必要があるかもしれません。予想するたびに、カウンターを1ずつ増やします。

注意すべき点として、変数には最初に宣言された型と同じ型の値しか再代入できません。先ほどの「jam」変数には配列を代入できません。文字列として宣言されているからです。ジャムのリストを格納したい場合は、新しい変数を宣言し、そこに配列を代入する必要があります。

Java変数の種類

変数には「ローカル変数」「スタティック変数(静的変数)」「インスタンス変数」の3種類があります。

ローカル変数はメソッドの本体内で宣言されます。ローカル変数は、宣言されたメソッド内でのみアクセスできます。これまでの例では、プログラムのメソッド内で宣言していたため、ローカル変数を宣言していたことになります。

インスタンス変数は、クラスの内部だがメソッドの外部で宣言されます。インスタンス変数の例を以下に示します。

class Main {
	String jam = "Raspberry";

	public static void main(String args[]) {
		// コード
	}
}

ここでは「jam」変数をMainクラスの内部、しかし「main」メソッドの外部で宣言しています。これにより、この変数はインスタンス変数になります。

スタティック変数とは、static キーワードを使って宣言された変数のことです。変数をスタティックにするには、宣言時に「static」キーワードを付けます。スタティック変数はローカル変数にはできません。Javaにおけるスタティック変数の例を以下に示します。

class Main {
	static String jam = "Raspberry";

	public static void main(String args[]) {
		System.out.println(jam);
	}
}

ここでは、クラス内に「jam」という変数を宣言し、その値を「Raspberry」に設定しています。

複数の変数を同時に宣言する

Javaでは、同じ行で複数の変数を宣言できます。これにより変数宣言が簡潔になり、コードの可読性が高まります。

ただし、この構文を使う場合は、同じ行で宣言する変数は少数にとどめるべきです。一度にあまり多くの変数を代入すると、コードが複雑になってしまう可能性があります。また、同時に宣言できるのは同じ型の変数のみです。

同じ行で複数の変数を宣言するには、まずそれらの変数のデータ型を指定します。次に、宣言したいすべての変数をカンマ区切りで並べます。

次の例を見てみましょう。

int a = 1, b = 2, c = 3;
System.out.println(a + b - c);

このコードは0を出力します。a、b、cの3つの変数を宣言しました。それぞれの変数には独自の値が格納されており、aは1、bは2、cは3です。

Java変数の命名ルール

変数の命名には開発者それぞれの流儀があります。プログラミングを学ぶにつれて自然と身についていくものです。とはいえ、変数名を決めるときに考慮すべきルールがいくつかあります。

変数名は「識別子(identifier)」とも呼ばれます。

Javaでは、変数名にスペースを含めることはできません。変数名には英字、数字、アンダースコア(_)、ドル記号($)を使用できます。ただし、変数名は必ず英字で始まる必要があります。

有効な変数名の例は次の通りです。

  • raspberry
  • peanutButter
  • book

一方、次のような変数名は無効です。

  • 1raspberry:数字で始まっているため無効です。
  • _peanutButter:特殊記号で始まっているため無効です。
  • book.:アンダースコアやドル記号以外の特殊文字で終わっているため無効です。

変数に名前を付けるときは、その変数の目的が明確になるようにしましょう。例えば、ユーザーに年齢を尋ねるプログラムでは、その値を「age」という変数に格納するのが自然です。「a」や「number」のような変数名では、何を表しているのか分かりません。

多くのJava開発者は、変数名にキャメルケース(camel case)を好んで使います。キャメルケースでは、変数名の最初の単語は小文字で始め、それ以降の各単語は大文字で始めます。次の変数を見てください。

boolean javaIsCool = true;

この変数「javaIsCool」は3つの単語で構成されているため、キャメルケースが使われています。「Is」と「Cool」がどちらも大文字で始まっています。

Javaの変数名は大文字と小文字が区別されます。つまり、「javaIsCool」と「javaiscool」は別々の変数として扱われます。同じ文字を含んでいても、大文字・小文字の使い方が異なるためです。

final変数の宣言

このガイドの前半で、変数は再代入できると述べました。これは、変数が final キーワード付きで宣言されていない場合に限ります。finalを付けると変数の値が固定され、プログラムからは読み取り専用になります。

final変数を宣言するには、変数宣言の先頭に final キーワードを付けます。

final boolean javaIsCool = true;

この変数を再代入しようとすると、エラーが発生します。

final boolean javaIsCool = true;
javaIsCool = false;

このコードは失敗し、次のようなエラーが返されます。

error: cannot assign a value to final variable javaIsCool

まとめ

変数を使うと、コード内で値にラベルを付けて格納できます。変数を一度宣言すれば、プログラム全体で参照できるため、複数回使う予定の値を繰り返し書く必要はありません。

また、変数は final キーワードを使って宣言されていない限り、自由に再代入が可能です。

これであなたも、プロのようにJavaコードで変数を扱えるようになりました!

  1. Javaのfinal変数とは?使い方と定数宣言の基本を解説

    Javaにおけるfinal変数は、明示的な初期化を一度しか行えない変数です。一度値を代入すると、その後は再代入することができません。 また、参照型変数にfinalを付けた場合、その参照先のオブジェクトを別のオブジェクトに変更することはできません。ただし、オブジェクト内部のデータ(フィールドの値など)は変更可能です。つまり、オブジェクトの状態は変更できるが、参照自体は変更できないという点に注意が必要です。 final修飾子とstaticの組み合わせ 変数に対してfinal修飾子を使用する場合、多くの場面でstaticキーワードと組み合わせて使われます。これにより、定数がクラス変数(クラス全体で共

  2. 初心者向けCheat Engine(チートエンジン)徹底解説|インストールからBlueStacksでの使い方まで

    Cheat Engine(チートエンジン)は、Windows向けのゲーム改造ツールとして最も有名なものの一つです。メモリをスキャンし、デバッガー機能を利用してゲーム内の数値(HP・所持金・スコアなど)を自由に書き換えることで、ゲームの制限を回避したり、単純に楽しんだりするために、世界中のゲーマーに愛用されています。非常に強力なツールである反面、インターフェースは初心者にはやや取っ付きにくく、ある程度の操作慣れが必要です。そこで本記事では、初めての方でも迷わず使えるよう、Cheat Engineの基本的な使い方をステップごとに丁寧に解説します。ただし、始める前に押さえておきたい重要なポイントがあ