2008/04/01

変数について~プリミティブ型って何さ~ [ Java ]

みなさんこんばんわ。
今日をもって私も遂に社会人三年目と相成りました。
あんま実感無いなー。3年目っつーと……

自分がN社に入社した時のI田さんと同じっつー事?
確かあの時点でK崎先輩が4年目で……

とまぁあっという間に先輩たちと同じ年次になっていく今日この頃。
いつまでも昔と同じレベルで居る訳にはいかないですよね!
先輩社員の面子を保つ為にも!(未だ下に後輩社員がついた事ないが)



という訳で今日はプログラムを少し触った事がある人ならもう問題無く
使っているであろう"変数"って奴の、Javaでの扱いについて。

Javaは型付けが厳しい言語なので変数宣言時には型も宣言しないと
いけません。その為良くこんな感じのコードを見る事があると思います。

int height = 165;

整数型の"height"って変数を宣言して、初期値として165を代入してますね。
この int と同じように、Javaでは下記のような8つの型が定義されています。
  • byte
  • short
  • int
  • long
  • float
  • double
  • char
  • boolean

この8つの型をプリミティブ型と言います。
このプリミティブ型って奴は値としてしか扱うことが出来ません。
値としてしか扱う事が出来ない、というのはどういう事かというと
オブジェクトとして扱う事ができないという事です。

オブジェクトではない為、プリミティブ型の変数は直接値を代入する事が出来ます。
先の例のように、int height = 165;  こんな感じに直接値を代入できます。

これがプリミティブ型じゃない場合はどうでしょう?
例として、同じように整数型を扱うIntegerクラスを使って同じ事をしてみると……

Integer height = new Integer(165);

こうなりますよね。上のIntegerの場合が何をやっているかというと、一旦
Integerクラスのheightという名前のインスタンスを生成し、そこにコンストラクタで
165っていう値を設定してます。このようにプリミティブ型じゃない変数は必ず
クラス型のオブジェクトを生成した後、オブジェクトに対して値をセットしなければいけません。


……あれ?今自分で口に出した、"プリミティブ型じゃない変数"って何なんでしょう?
これに関しては長くなるので別トピックで書こうと思います。
とりあえずプリミティブ型変数のまとめ。

・Javaで定義された8種類の型の事
・プリミティブ型変数はオブジェクトではない
・プリミティブ型変数はオブジェクトではない為、直接値を代入できる。

さぁ、次はクラス型変数についてだ!

0 件のコメント: