Java
PR

Javaの変数とは?宣言方法や使い方を現役エンジニアが解説

プログラミング
shin-memo
記事内にプロモーションを含む場合があります

Javaの変数とは何ですか?意味やどんな役割があるのか、初心者にもわかるように教えて欲しい。

こんなお悩みにお答えします。

運営者:シン
運営者:シン
Profile
フリーランスエンジニア|大阪在住|31歳【保有資格】Java Gold・ITパスポート・SEO検定全級・全日本SEO協会認定SEOスペシャリスト【経歴】配送業▶︎販売員▶︎プログラミングスクール受講▶︎プログラマー▶︎独立【発信内容】プログラミング・エンジニア転職・フリーランス
プロフィールを読む

本記事をお読みいただければ、Javaの変数についての基本を押さえることができますよ。

シン
シン

僕は現役フリーランスエンジニアです。実務はJavaをメインに扱っており、Javaのプログラミング言語資格も保有しています。実体験をもとに解説しますね。

変数はプログラミングをする上で必要不可欠なものですので、この記事で理解を深めてみてください!

あわせて読みたい
Javaエンジニアの学習ロードマップ!実践で使える技術を厳選【2023年版】
Javaエンジニアの学習ロードマップ!実践で使える技術を厳選【2023年版】

Javaの変数の基本概要

まずJavaの変数の基本概要を解説します。

  1. 変数とは
  2. 変数のデータ型一覧
  3. 変数の命名規則

その①:変数とは

変数とは、データを格納しておく場所のことを言います。

変数とは

よく箱のイメージに例えられますね。

変数に数値や文字列などのデータを入れておくことで、後から変数を使って値を呼び出したり、使い回したりできます。

プログラミングをする上で、変数は必要不可欠です。

その②:変数のデータ型一覧

変数には、数値や文字列、trueやfalseといった真偽値等のデータ型が存在します。

データ型とは、主に下記の通りです。

String文字列型4バイト
int整数型4バイト
booleanブーリアン型1バイト
byteバイト型1バイト
short短整数型2バイト
long長整数型8バイト
double倍精度浮動小数点数型8バイト
float単精度浮動小数点数型4バイト
char文字型2バイト

データ型は、どんな値を入れるのかによって使い分けていきます。

Javaでは、Stringとintとbooleanがよく使われますね。

その③:変数の命名規則

変数は、基本的に誰が見てもわかりやすいような名前にすべきです。とはいえ、わかりやすければいいと言うわけではなく、変数には命名規則があります。

命名規則は下記の通りです。

  • 先頭は数字から始めることはできない
  • 単語間は先頭を大文字にする

変数は日本語をつけることもできますが、多くの現場では英数字で付けられることが多いです。

あわせて読みたい
Javaのコンストラクタとは?書き方や使い方をわかりやすく解説!
Javaのコンストラクタとは?書き方や使い方をわかりやすく解説!

Javaの変数の使い方【7STEP】

実際に変数の宣言から、簡単な計算方法について解説していきます。

以下の7STEPで解説します。

  1. 変数の宣言方法
  2. 変数の宣言場所
  3. 変数の初期化
  4. 変数の上書き
  5. 変数の比較方法
  6. 変数で計算する方法
  7. 変数で足し算などの計算方法

順番に見ていきましょう。

STEP①:変数の宣言方法

変数を使うにはまず、変数の宣言をします。宣言は、下記のように記述します。

データ型 変数名 ;

変数はデータ型を記述した後に、変数名をつけていきます。最後は必ずセミコロン(;)をつけるルールとなっています。

下記は実際の変数宣言の例です。

String str;
int num;
boolean flg;

STEP②:変数の宣言場所

では変数は実際にどこに宣言すればいいのでしょうか?

変数はフィールド、もしくはメソッドの中に記述します。

class Test1 {
  static int num; // ここがフィールド
  
  public static void main(String[] args) {
   int num; // ここがメソッドの中
  }
}

STEP③:変数の初期化

変数の初期化とは、宣言した変数に初期値を代入することを言います。

int num;
int num = 0;

上記の通りです。

変数の宣言と初期化は、同時にできます。

int num = 0;

注意点としては、クラスのフィールドに宣言した変数は、自動的に初期化される点です。

class Test1 {
  static int num;
  
  public static void main(String[] args) {
   System.out.println(num);
  }
}

上記はフィールドに宣言した変数です。上記を実行すると、初期化を行なっていないですが、値が出力されます。

実行結果:
0

もう一つ、わかりやすい例をあげていきます。

下記は、メソッドの中に宣言した変数です。こちらも初期化を行なっていないですが、先程のフィールドに宣言した変数とは別に、エラーが発生します。

class Test1 {
  static int num;
  
  public static void main(String[] args) {
   System.out.println(num);
  }
}
実行結果:
>javac Test1.java
Test1.java:5: エラー: 変数numは初期化されていない可能性があります
   System.out.println(num);
                      ^
エラー1個

フィールドに宣言した変数は、自動的に初期化されます。メソッドの中に宣言した変数は、自動的に初期化されません。

この違いにより、メソッドの中に宣言した変数はエラーが出てしまったということになります。

もしこれが大規模なシステムとかであれば、大変なことになってしまいますね。なので変数は必ず使う時だけ宣言をし、初期化をしておきましょう。

あと使わなくなった変数は、消しておくと良いですね。

STEP④:変数への値の代入方法

変数に値を代入する方法についてみていきましょう。

class Test1 {
  static int num;
  
  public static void main(String[] args) {
   num = 10;
   System.out.println(num);
  }
}

上記を解説しますと、フィールドに宣言した変数numに、mainメソッドで10を代入しています。

numを出力した結果が下記の通りです。

実行結果:
10

メソッドで宣言した変数に、値を代入することもできます。

class Test1 {

  public static void main(String[] args) {
   int num = 0;
   num = 100;
   System.out.println(num);
  }
}

上記はメソッドで変数numを宣言し、同時に初期化を行い、次に100を代入しました。

実行結果:
100

STEP⑤:変数の上書き

変数の上書きについてみていきましょう。

変数は一度値を代入したとしても、同じ変数に再度値を代入すれば、値を上書きできます。

class Test1 {

  public static void main(String[] args) {
   int num = 0;
   num = 100;
   num = 10000;
   System.out.println(num);
  }
}

上記は変数numに100を代入した後に、10000を再代入しています。こうすることで、最初に定義した変数numに入っていた100の値が、10000に上書きされます。

実行結果:
10000

STEP⑥:変数の比較方法

変数の比較方法について解説していきます。

プログラミングでは、変数の値を比較する場面がよくあります。たとえば、変数Aの値はBよりも大きいかどうか比較したい時とかです。

例をあげるなら、Web画面で入力された年齢が20歳未満かどうかを知りたい時も、比較が用いられますね。

変数の比較は、関係演算子を使用します。

演算子役割
>a > baがbよりも大きければtrue。それ以外はfalseになる。
<a < baがbよりも小さければtrue。それ以外はfalseになる。
>=a >= baがb以上であればtrue。それ以外はfalseになる。
<=a <= baがb以下であればtrue。それ以外はfalseになる。
!=a != baとbが等しくない場合はtrue。それ以外はfalseになる。
==a == baがbと等しければtrue。それ以外はfalseになる。

実際に比較してみます。

class Test1 {

  public static void main(String[] args) {
   int a = 10;
   int b = 15;
   
    System.out.println(a > b);
    System.out.println(a < b);
    System.out.println(a >= b);
    System.out.println(a <= b);
    System.out.println(a != b);
    System.out.println(a == b);
  }
}
実行結果:
false
true
false
true
true
false

STEP⑦:変数で足し算などの計算方法

変数を使って計算をする方法を解説していきます。

プログラミングで計算するには、四則演算子を活用します。四則演算とは、足し算や引き算、掛け算や割り算のことです。

演算子役割
+足し算
引き算
*掛け算
/割り算
%割り算の余り

では四則演算を用いて計算を行いましょう。

class Test1 {

  public static void main(String[] args) {
   int a = 6;
   int b = 3;

    System.out.println(a + b);
    System.out.println(a - b);
    System.out.println(a * b);
    System.out.println(a / b);
    System.out.println(a % b);
  }
}
実行結果:
9
3
18
2
0

足し算と引き算は簡単ですね。掛け算は数学では×が用いられますが、プログラミングでは*が使われます。%は割り算の余りの値が求められます。

=は数学では等しいという意味ですが、プログラミングでは代入を意味します。

x = 10;は、数学ではxと10は等しいですが、プログラミングでは10をxに代入するという意味です。

ここまで理解できれば、基本は押さえられています。変数の使い方は以上です。

Javaの変数と定数(final)の違いとは

Javaの変数と定数の違いについて解説していきますね。

変数と定数の違い

変数は値を上書きできますが、定数は値を変えられません。

定数は決まった値を入れて、その値を上書きされたくない場合に使用します。

定数は下記の様にfinalを付けて定義します。

final データ型 変数名 = 値;
final int a = 6;

実際に定数を上書きしようとしてみます。

class Test1 {

  public static void main(String[] args) {
    final int a = 6;
    a = 10;
    System.out.println(a);
  }
}
実行結果:
>javac Test1.java
Test1.java:5: エラー: final変数aに値を代入することはできません
    a = 10;
    ^
エラー1個

上記の通りで、エラーが発生しました。

定数を使うメリット

定数は、クラスやメソッドにも使えます。

定数を使うメリットは、クラスを継承されたくない場合や、メソッドをオーバーライドされたくない時に役立つところです。

開発の規模が大きくなると、変数に予期せぬ値が代入されて、バグが発生する可能性があります。

そんな時に定数が役に立ちます。

あわせて読みたい
Javaのクラスとは?書き方や呼び出し方をわかりやすく解説!
Javaのクラスとは?書き方や呼び出し方をわかりやすく解説!

Javaの変数の使い方:まとめ

Javaの変数について解説しました。

プログラミングで変数はよく使われますので、繰り返し読んで覚えてみてくださいね。

以下記事では、Javaエンジニアの学習ロードマップを解説していますので、ぜひチェックしてみてください。

あわせて読みたい
Javaエンジニアの学習ロードマップ!実践で使える技術を厳選【2023年版】
Javaエンジニアの学習ロードマップ!実践で使える技術を厳選【2023年版】
運営者情報
運営者:シン
運営者:シン
フリーランスエンジニア|大阪在住|31歳【保有資格】Java Gold・ITパスポート・SEO検定全級・全日本SEO協会認定SEOスペシャリスト【経歴】配送業▶︎販売員▶︎プログラミングスクール受講▶︎プログラマー▶︎独立【発信内容】プログラミング・エンジニア転職・フリーランス
記事URLをコピーしました