- javaに限らずプログラミングでアホほど使う、変数についてまとめる
こんにちは!オブジェクト指向に苦戦中、ウルフございます。
javaのコードを短縮するために使われるのが変数
変数はプログラミングでよく出てくる言葉で、私はプログラミングを学び始めてからというもの、変数という単語を多分200万回くらい聞きました。
ただ、プログラミング初心者だと
変数がなんなのか?変な数字なのか?変態な数字なのか?
さっぱりわからない。
「宣言ってなんだ、代入ってなんだ、参照ってなんだ、そもそも変数ってなんなんだ!!」
その辺りも含めて、Javaの変数に関する小難しい用語を、初心者なりに分かりやすくまとめていきます。
Java | プログラミングでよく聞く変数とは何か?

そもそも、変数ってなんやねん!って話なんですけど
変数とはいわゆるデータの記憶装置という認識でOKです。
「変数」とは⇒データの記憶装置
変数なんて難しい言葉使っていますが、要するにデータの記憶装置です。
うまぴょい!うまぴょい!
という表示を5回させたい時、通常だと

(“ ”); の中に同じ文字を5回入力しないといけません。
ぶっちゃけメンドクサイ、、、ところがどっこい変数を使ってデータを記憶してあげれば

(“ ”); の中に変数名を入力するだけで、同じように表示させることができます。
とっても楽チン♪
もし、文字に間違いや変更があっても訂正するのは一か所だけでOKです。
プログラミングでは必ず使われる
変数はプログラムを書く上でよく使われるものです。
変数を使うメリットとしては以下の通り
- コードを書く量を短縮できる
- コードを一括変更できる
プログラムを扱っていると書く量も膨大になり、同じようなモノを何度も書いたりします。
とはいえ、同じようなコードを何度も書くのはとても大変。
なので、変数を使ってコードに名前をつけて格納し、名前をかけばいつでも引っ張り出せるようにしておきます。
プログラミング学びたての人はイメージできないかもしれませんが
「コードを書く量を短縮できてとても便利、よく使うものなんだなぁ~」という認識でokです。
変数とは?
- データの記憶装置
- プログラミングではよく使われる
Java|変数の操作3ステップ

変数を使うには「宣言、代入、参照」という3つの操作が必要となります。
- 「宣言」⇒名前をかかげる
- 「代入」⇒かかげた名前にデータを記憶
- 「参照」⇒代入したデータを引っ張り出す
超絶ザックリ言うと
名前つけて、データ記憶させて、名前からデータを引っ張り出す
という感じです。
実際にプログラムを書くときは以下のように記述します。
- 「宣言」⇒ int a;
- 「代入」⇒ a = 1;
- 「参照」⇒ System.out.println(a);
宣言、代入、参照について詳しくは後々解説します。
Java|変数における2つの型
変数を使う上で「基本型と参照型」という2つの型があります。
- 「基本形」⇒別記事でも紹介した値のこと
- 「参照型」⇒基本形では収まらないモノ
型によって扱えるモノが違ってきます。
基本形
int、long、short、byte、char、double、float、boolean
など、変数という入れ物に収まりきる大きさの情報が基本形です。
基本形もいろいろあるわけですが、私が学習段階でよく使っているのはintですね。
なので、小難しいことは考えず最初はintだけでも覚えておけばいいかと。
(開発するとなったら、そうはいかんかもしれないけどね)
基本形についての詳しいことは別記事にて解説しているので、そちらを参考に!

参照型
基本形ではどうしようもない情報を扱う時は参照型を使います。
参照型と聞くとなんだかややこしいように聞こえますが、
私は文字列と日付は参照型というように覚えています。
あとはコレクションとクラスも参照型なのですが、これを今の段階で説明するとややこしいので割愛します。
次からは変数の操作ステップを順番に解説していくぞ!
Java変数の操作ステップ①|「宣言」

変数操作でまずやるのが「宣言」です。
型名 変数名;
先ほど紹介した基本形や参照型などの「型名」を指定して、名前をつけるのが「宣言」です。
「変数名」はこうやってつける!
「変数名」ってやろうと思えばなんでも名前をつけることが可能です。
ただし、守るべきルールと守った方がより良いルールというものがあります。
守らなければいけない!
- 最初の文字はアルファベットか一部の記号や文字
- 数字は2文字目以降
「変数名」は何でもいいのですが、守らなければならない2つの鉄則があります。
これを守らなければ、正しいプログラムとしてコンパイルされません。
つまり、エラーが起きます。
逆にルールを守っていたらどんな名前をつけてもOKということです。
unko、baka、aho….
ルールを守れば、どんな汚い言葉でもコンパイルされます。
一部の漢字やひらがなでも名前をつけることができるみたいだけど、プログラムを書く上ではあまり使いません。
なので、基本的に半角英語を使うのがよろしいかと。
守った方が読みやすい!
- 半角英数字で付ける
- 先頭は小文字
- (例)text、horse
- 複数単語を組み合わせる時、2つ目以降の先頭を大文字にする
- (例)javaText、horseDaughter
「変数名」には守らなくてもいいのですが、守った方が後々のことを考えると楽で読みやすいルールがあります。
どうやら、java公認のルールのようです。
変数名って、何度も言うようになんでもOKなのですが、
ルール無視で色んな名前をつけると、後から見た人が「なんだこれ?」と理解ができなくなります。
なので、基本的にはjava公認のルールに従っておきましょう!
長いモノには巻かれろというやつです。
いろいろルールがあってややこしいけど、とりあえずは
- 半角の小文字
- 複数語は2つめ以降の先頭を大文字
この2つを守って変数名をつければOKです!!
Java変数の操作ステップ②|「代入」

変数を「宣言」した後に行うのが代入です。
変数名 = 代入;
変数名に値などを入れるのが「代入」です。
数学でやった「代入」をイメージして頂ければわかりやすいでしょう。
代入には評価順序がある!

代入には評価の順序というものがあり、左辺と右辺では右辺から先に評価されていきます。
なので、下のような順序でプログラムを書いた場合
- int x = 1
- x = x + 2
結果は3になります。
プログラムにも順序があるということを覚えておきましょう!
3パターンあるぞ!代入演算子
「代入」には演算子というものがあり、演算子には3つのパターンがあります。
- 代入演算子
- 再帰代入演算子
- インクリメント/デクリメント演算子
ややこしいですが仕組み的には単純です。
よく出てくるので、使い方や仕組みをしっかり覚えていきましょう。
代入演算子

代入演算子は「=」のことです。
x = 1
右辺を左辺に代入するような演算子です。
これ以外何も言いようがないので、説明は以上となります。
再帰代入演算子

再帰代入演算子の記号は「+=、-=、%=、」を使い
左辺と右辺の演算をまた左辺に代入するような演算子です。
文章だけの説明だと「いや、、、わからん!」ってなると思うので、少し例をあげて解説していきますね。
例えば
x = x + 1
という式がありますよね。
これを短縮し、かつ同じような演算子に書き換えると
x += 1
このような式になります。
- x = x + 1
- x += 1
2つの式は同じ意味です。
テキストではややこしく書かれてはいますが、演算を短縮して書く演算子というような認識で大丈夫です。
インクリメント/デクリメント演算子

インクリメント/デクリメント演算子の記号は「++、–」を使い
先ほどの再帰代入演算子の中でも「1を足す」「1を引く」に特化した演算子です。
文章で説明しても「いや、、、わからん!」ってなると思うので、こちらも少し例をあげて解説していきますね。
例えば
x += 1
という式がありますよね。
これをさらに短縮し、かつ同じような演算子に書き換えると
x++
このような式になります。
- x = x +1
- x += 1
- x ++
3つの式は同じ意味です。
javaは「1を足す」「1を引く」みたいなプログラムは頻繁に出てくるので
インクリメント/デクリメント演算子を使えるようになるとかなり便利ですね。
実は「宣言」と「代入」は同時にできる
変数は「宣言」と「代入」を同時に行うことができます。
型名 変数名 = 初期値;
というように書くことができます。
「だったら、最初から同時にした方がよくね?」
と言いたい気持ちもわかるんですけど。
- 「宣言」をした後に「代入」をする
- 「宣言」と「代入」と同時に行う
多分、何かしらの使い分け方があるんでしょうと
知らんけど。
Java変数の操作ステップ③|「参照」

変数を「宣言」して値を「代入」した後、変数の中身を確認したい時があります。
変数の中身を確認することを「参照」と言います。
代入後に参照して確認しよう
参照の方法なんですけど
コマンドプロンプトを使っている場合は、勝手にやってくれます。
しかし、inteliJIDEAなどのエディタを使っている場合は勝手にやってくれません。
コマンドプロンプト以外で表示させる場合は、以下のように記述して下さい。
public class Main {
public static void main(String[] args) {
String 変数名 = “うまぴょい!うまぴょい!”;
System.out.println(変数名);
}
}
結果を表示させる時によく使われるので、使い方を覚えておきましょう。
代入前に参照すると…
ちなみに、変数に何も代入していない状態で参照するとエラーがおきます。
なので、変数を宣言したら初期値を必ず代入する必要ありです。
「初期値が何も思いつかない、、、」
という時は以下のように初期値を設定しておきましょう。
- int a = 0
- boolean a = false
Java|変数で一番やっかい!拡大変換とキャスト変換

さてさて、変数の記事はあともう少し。
int、double、booleaan…などの変数の型に、違う値を無理矢理代入すると
エラーが起きる場合と起きない場合があります。
なんでも、無理矢理はよくないってことよね!!
エラーが起きない場合に起きている現象が「拡大変換」と「キャスト変換」と言います。
2つの違いについて説明すると、今の段階ではややこしくてわかりません。
なので、2つの違いについて超絶ザックリとだけ説明しておくと
- 「拡大変換」⇒ 大は小を兼ねる
- 「キャスト変換」⇒ 問題はあるけど無理矢理ヤっちゃう
こんな感じです!
マジで検証してみないと、イメージしにくいです。
なので、自分で調べて試してみることを強くオススメします。
まとめ
データの記憶装置
- 宣言⇒名前をかかげる
- 型名 変数名:
- 代入⇒かかげた名前にデータを記憶
- 変数名 = 値;
- 参照⇒代入したデータを引っ張り出す
- コマンドプロンプト:勝手に参照
- エディタ:System.out.println(変数名);
変数を使いこなすことで、プログラムの書く量をぐっと抑えることができます。
最初は難しいかもしれませんが、何度も繰り返し使って徐々に慣れてきましょう!
てな感じで記事は以上!