5.
変数
変数とは
変数(へんすう)はプログラムでデータを記憶するための器で、表示する文字や計算したい数値を入れたりします。プログラムによっては何回も計算を繰り返したり、複雑な処理をするときに役立ちます。
合計金額の計算
日常の買い物で「金額」「個数」に毎回違う数字で「合計金額」を計算します。よって「金額」「個数」「合計金額」は変数になります。
合計金額 = 金額 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 |
String | ||
有効 | isActive | boolean |