変数とは

変数(へんすう)はプログラムでデータを記憶するための器で、表示する文字や計算したい数値を入れたりします。プログラムによっては何回も計算を繰り返したり、複雑な処理をするときに役立ちます。

合計金額の計算

日常の買い物で「金額」「個数」に毎回違う数字で「合計金額」を計算します。よって「金額」「個数」「合計金額」は変数になります。

合計金額 = 金額 x 個数

変数をプログラムで利用するには、人間がわかりやすいように変数名をつけます。

int price = 100;
int amount = 5;
int total_price = price * amount;

変数定義の基本

データ型と変数名

Javaの変数は、先頭にデータ型という予約語をつけ、その後に変数名を記述します。

データ型 変数名;

データ型とは

処理するデータは「文字列」「整数」「小数」「論理値」などさまざまです。

String name;
int price;
int amount;

データ型の例

「商品名」「価格」「個数」を以下のように定義します。詳しいデータ型に関しては、別の章で説明します。

項目 変数名 データ型
商品名 name 文字列 String
価格 price 整数 int
個数 amount 整数 int

変数の命名規則

変数名で利用できる文字は以下のような命名規則があります。

  • 半角英数字
  • 大文字・小文字は区別
  • スネーク型とキャメル型
  • 先頭文字に数字は利用できない

半角英数

原則、変数は半角英数文字と「 _ 」で宣言します。

item;
item_10;

大文字・小文字は区別

大文字・小文字は区別し、同じ英語でも別の変数として処理されます。

//それぞれ別の変数
item;
Item;
ITEM;

スネーク型とキャメル型

変数名に複数の単語がある場合、スネーク型キャメル型の記法があります。

スネーク型

スネーク型は単語を_(アンダースコア)で区切る記法で、蛇のような形に見えます。

item_name;

キャメル型

キャメル型は単語を大文字で区切る記法で、ラクダのコブような形に見えます。

itemName;

シンタックスエラー

以下の変数定義はシンタックスエラーになてしまうので注意しましょう。

  • データ型がない
  • 全角文字の利用
  • 先頭文字が数字
  • 「 - 」「 / 」「 ~ 」などの特殊文字
  • 予約語は使えない
item;
String 1_item;
String item-name;
String item/name;
String item~name;
String for;

変数名のコツ

わかりやすく

プログラムは、コードを見ただけで何をしているのかわかるようにコーディングするのが、開発効率をあげるコツです。よって、変数名もわかりやすく定義する必要があります。

意味を持たせる

変数名を「a」「b」のように省略した文字で定義すると、他の人には意味がわかりません。変数名は具体的な意味を持たせた単語で定義しましょう。

//省略しすぎてわからない
String a;
int b1;
int am;
//何のフラグかわからない
boolean flag;

英単語を使う

日本語をローマ字入力にすることもありますが、海外でも通用するように英語に翻訳して定義しましょう。

//日本語読み
String shohin;
int kakaku;
int kosuu;

プログラムで変数定義

ファイル構成

lesson1
└── src/
    └── sample/
        └── Item.java

クラスファイルの作成

「新規Javaクラス」をクリックします。

パッケージに「sample」、クラスファイルに「Item.java」を入力して【完了】をクリックします。「public static void main(String[] args)」にチェックするのを忘れないでください。

「Item.java」が作成されました。

変数の定義

「商品名」「価格」「個数」「セール品」をデータ型と変数名と定義します。

String itemName;
int price;
int amount;
boolean isSale;

変数の定義

「商品名」「価格」「個数」「セール品」をデータ型と変数名と定義します。

public class Item {
    
    String name;
    int price;
    int count;
    boolean isSale;

}

演習

問題1

sample パッケージに、クラスファイル「User.java」を作成してみましょう。

問題2

「User.java」のメインメソッドに、以下の変数定義してみましょう。

項目 変数名 データ型
氏名 name String
会員番号 no int
Email email String
有効 isActive boolean