■変数の型と宣言■

Javaの変数の基本型

Javaの基本型は次の8種類だけ(voidを入れれば9種類).この中で太字のものが特に重要.

  • int 4バイト符号つき整数型
  • short 2バイト符号つき整数型
  • byte 1バイト符号つき整数型
  • long 8バイト符号つき整数型
  • float 4バイト符号つき浮動小数点型
  • double 8バイト浮動小数点型(倍精度)
  • char 2バイトユニコード文字
  • boolean 論理値(trueまたはfalseのどちらか)
  • void 値を返さない関数であることを明示するための型

変数宣言と定数の書き方

変数の宣言文は,Java言語の場合C言語とは異なり,基本的にその変数の使用する場所よりも前(プログラム中の上のあたる部分)でありさえすれば,プログラム中のどこに書いても構わない.

整数型

整数型は次のように宣言.(C言語とは異なり,unsigned(符号無し)は宣言できないので注意.)

int i = 1234; //10進数
int x = 0xf8; //16進数
long l = 1234567890123456789L; //8バイトの定数には,末尾にL

浮動小数点型

浮動小数点型は次のように宣言

double d = 3.1415;
double e = 1.234e3; //eに注目.1.234×103の意味になる
float f = 3.1415F;  //floatに対しては,定数の末尾にFが必要

特殊な定数として次のstatic定数が用意されている.

float f1 = Float.NaN;                  // Not a Number(非数)
float f2 = Float.POSITIVE_INFINITY;    // 正の無限大
float f3 = Float.NEGATIVE_INFINITY;    // 負の無限大
double d1 = Double.NaN;                // Not a Number(非数)
double d2 = Double.POSITIVE_INFINITY;  // 正の無限大
double d3 = Double.NEGATIVE_INFINITY;  // 負の無限大

文字型

文字型は次のように宣言

char c = 'あ'; //シングルクォート'で囲うこと.一文字文だけ

ちなみに,複数の文字(文字列型)についてはStringクラスを使用することになる.クラスについては後で説明.

String s = "あいうえお"; //こちらはダブルクォート

論理型

論理値型は次のように使用.

boolean b = true;

型変換(キャスト)

原則として大きなバイト数の型の変数を小さなバイト数の型の変数に代入することはできない.(逆はできる)

byte b;
int i = 100;

b=i;  //ここでコンパイルエラー

この理由は,小さな型に代入する際に値があふれてしまう可能性のためである.プログラマが責任をもってその値があふれないと確信できるときにだけ,次のように一時的な型変換(キャスト)を用いることができる.

b = (byte) i; //127よりも小さいので大丈夫

また,浮動小数点型の変数を,整数型に代入する際にもキャストが必要である.

プログラム中の定数について

プログラムに何回も使用するような定数を埋め込む場合,次のように使用した方がよい.

final double hoge = 1.2345678;

final修飾子は,その変数が変化しないことの宣言で,final付で宣言された変数に値を代入しようとするとエラーにしてくれる.C言語でのconstと似た宣言である.プログラム中では,この宣言した変数を,定数の代わりに使用すればよい.