プログラムに広く利用されている機能に「変数」(variable)というものがあります。
変数はデータを保存しておく箱のようなもので、ユーザーが入力したデータや計算結果等のデータを保存したりデータを使いまわしたりすることができます。
変数は「宣言」「代入」「参照」と呼ばれる操作ができます。
もくじ
変数の宣言
変数は宣言することで代入や参照を行うことが可能です。宣言の際には「データ型」と呼ばれる変数の種類と、「変数名」と呼ばれる変数の名前が必要となります。
データ型と変数名は半角スペースで空けます。また、宣言のみを行う場合は一つの処理となりますので、最後に;(セミコロン)が必要です。
データ型の種類にはいくつかありますが、種類と役割に関しては後述します。
文法 | データ型 変数名 ; |
---|---|
記述例 | int number ; |
上の記述例ではint(整数)というデータ型のnumberという変数名を宣言しています。
変数へのデータ代入
変数はデータを保存する箱の役割ですから、保存するデータを入れる(代入)作業が必要です。変数内に初めてデータを保存する作業を「初期化※」と呼びます。代入できるデータはデータ型によって異なります。
※初期化時のデータは「初期値」と呼ばれます。
変数にデータを代入する際には「=」を利用します。「=」は等しいという意味ではなく右辺のデータ(もしくは演算結果など)を左辺に代入するという意味で利用します。
文法 | 変数名 = データ ; |
---|---|
記述例 | number = 100 ; |
上の記述例ではnumberという変数に100という整数データを代入しています。
変数の参照(利用)
変数内に保存されているデータを利用することを参照と呼び、変数を参照したい場合は変数名を記述するだけです。
文法 | 変数名 |
---|---|
記述例 | System.out.println(number); |
上の記述例でnumberという変数を参照して、変数内のデータを表示しています。
変数 サンプルプログラム
以下のプログラムを「Number01.java」という名前でworkフォルダ内に保存します。
保存が完了したら、コマンドプロンプトを起動し、コンパイルおよび実行を行ってみましょう。
1 2 3 4 5 6 7 |
class Number01{ public static void main(String[] args){ int number; number = 100; System.out.println(number); } } |
実行例
C:\Users\User>cd c:\work
c:\work>javac Number01.java
c:\work>java Number01
100
※実行例は作業フォルダへの移動からコンパイルおよび実行までの例を表示しています。
変数のいろいろな記述方法
変数の宣言と初期化は一つの処理としてまとめることも可能です。宣言と初期化を同時に行うとができ、初期化し忘れを防ぐこともできる為よく利用されます。
文法 | データ型 変数名 = データ ; |
---|---|
記述例 | int number = 100 ; |
変数は同じ型同士であれば、まとめて宣言を行ったり、初期化したりすることができます。
同じ型でまとめて宣言
文法 | データ型 変数名 , 変数名 , 変数名 , … ; |
---|---|
記述例 | int number1 , number2 , number3 , number4 ; |
同じ型でまとめて初期化
文法 | データ型 変数名 = データ , 変数名 = データ , 変数名 = データ , … ; |
---|---|
記述例 | int number1 = 100 , number2 = 200; |
変数 サンプルプログラム
前に記述した「Number01.java」を以下のように編集して保存しましょう。
保存が完了したら、コマンドプロンプトを起動し、コンパイルおよび実行を行ってみましょう。
1 2 3 4 5 6 7 8 9 10 |
class Number01{ public static void main(String[] args){ int number; number = 100; System.out.println(number); int number1 = 100, number2 = 200, number3 = 300; System.out.println(number3); } } |
実行例
C:\Users\User>cd c:\work
c:\work>javac Number01.java
c:\work>java Number01
100
300
※実行例は作業フォルダへの移動からコンパイルおよび実行までの例を表示していますが、作業フォルダがworkであればcdコマンド入力行は入力する必要はありません。
補足:変数の命名規則
変数名はプログラマーがある程度自由に決められます。(識別子の一種)
しかし、どんな名前でも設定できるわけではないので、最低限以下のルールを覚えておきましょう。
文法上のルール
この記述で命名しないとコンパイルエラー
- 記号は「$」と「_」のみ利用可能
- 名前の頭を数字にしてはいけない
- 予約語と呼ばれるJavaの文法上で利用される用語は命名できない
(int、class、public、void等)
エラーとなる例
javaru@title 01number public private break
(@は使えない、頭が数字になっている、予約語となっている)
推奨される変数名
コンパイルエラーにはならないが、名前を付ける際に心がける
- 他の識別子(クラス名や定数)と区別するため、基本は小文字を利用する
- 半角英数字を利用する
- どんなデータが保存されているのか区別できるような名前
複数の単語で変数名を付ける場合は「キャメルケース」か「スネークケース」と呼ばれる方法で記述することが多い。
キャメルケース | 2つ目の単語から頭文字のみ大文字で付ける | camelCase |
---|---|---|
スネークケース | 単語間を_でつなぐ | snake_case |
変数 復習問題
- 変数を宣言する際には○と○が必要です。○に入る語句の組み合わせを選んでください。
- 解答群
- 型と変数名
- データと変数名
- 型とデータ
- 型と整数
- 変数内に最初に保存されたデータは○と呼ばれる。○に入る語句を選んでください。
- 解答群
- 初期値
- 型
- 宣言
- 整数
- コンパイルエラーとなる変数名を選んでください
- 解答群
- price
- number01
- hit-number
- apple
- キャメルケースとして正しい変数名を選んでください
- 解答群
- CAMELCase
- camelcase
- camelCase
- Camel_Case
- スネークケースとして正しい変数名を選んでください
- 解答群
- snake_case
- snake~case
- snake-case
- snake^case
- ○○型であれば複数の変数をまとめて宣言できる。○に入る語句を選んでください。
- 解答群
- 違う
- 同じ
- 整数
- int
- =の記号は○と呼ばれ変数内にデータを保存する。○に入る語句を選んでください。
- 解答群
- 比較
- 論理
- 算術
- 代入
- お疲れ様でした。
まとめ
- 変数を利用するとデータが保存できる
- 宣言は、データ型と変数名を指定して変数を準備すること
- 代入は、変数にデータを保存すること
- 参照は、変数内のデータを利用すること
- 変数名を付ける際はルールがあるので注意