@634

キーワード(予約語) その1

Advertisement

基本データ型

byte boolean char double float int long shortは基本データ型ってやつだ。値型とか呼ぶ。他の言語と同じような感じ。どんな環境でもサイズは一緒。

Javaの中で唯一オブジェクトとして扱わないのさ。
※オブジェクトとして扱うためにラッパクラスてのがある。

なんとなく、分類
整数:byte short int long
浮動小数:float double
文字:char
真偽:boolean

※ページの一番下に使用例メモ

byte

整数。8ビット。
-128から127までの値を表現できる。

short

整数。16ビット。
-32768から32767までの値を表現できる。

int

整数。32ビット。
-2147483648から2147483648までの値を表現できる。

long

整数。64ビット。
-9223372036854775808から9223372036854775807までの値を表現できる。すげーな。

float

浮動小数。32ビット。
IEEE754。

double

浮動小数。64ビット。
IEEE754。

char

文字。
Unicodeで表現可能な一文字。

boolean

真偽。
trueもしくはfalseを表す。

使用例

使用例。
public class DataTypeTest{
    public static void main(String[] args){
        byte b = 1;
        short s = 2;
        int i = 3;
        long l = 4L;  //intの範囲内ならLは省略可。

        float f = (float)1.1;
        //もしくは1.1Fでも可。
        //単に1.1とすると、double型と
        //みなされるのでコンパイルエラーになる。

        double d = 2.2;
        char c = 'C';
        boolean x = true;

        System.out.println("byte b    = " + b);
        System.out.println("short s   = " + s);
        System.out.println("int i     = " + i);
        System.out.println("long l    = " + l);
        System.out.println("float f   = " + f);
        System.out.println("double d  = " + d);
        System.out.println("char c    = " + c);
        System.out.println("boolean x = " + x);
    }
}
実行結果
byte b    = 1
short s   = 2
int i     = 3
long l    = 4
float f   = 1.1
double d  = 2.2
char c    = C
boolean x = true

メモ。

●フィールド上の整数値。
フィールド上の整数値はintとみなされる。よって以下のコードは、値がintの範囲を超えているからコンパイルエラー
long l = 10000000000;
longとintを明示的に分けるために、Lを使う。たとえば100Lとするとlong型の100となる。よって以下の場合、コンパイルエラーにはならない。
long l = 10000000000L;

●フィールド上の小数値。
フィールド上の小数の値はdoubleとして扱われる。以下のコードはコンパイルエラー
float f = 1.1;
正常に作動させたいならば
float f = (float)1.1;
//もしくは
float f = 1.1F
とする。

●違う型の整数値同士の代入。
サイズの大きい方への代入(byte > short > int > long > float > double)ならば、直接可能。逆の場合はキャストすることにより代入可能。しかし、範囲を超える場合、コンパイルは通るが、正常な結果を得ることができない。
↓コンパイルエラー
int i = 100;
byte b = 100;

i = b;
b = i;
↓問題なし
int i = 100;
byte b;


b = (byte)i;
↓値がおかしくなる
int i = 150;  //byteの範囲を超えている
byte b;

b = (byte)i;

●演算時
byte shortの値、変数は演算時にint型に変換されるため、
ビット演算などの際には注意が必要。

Advertisement

ショートカット

634
634ブログ
このカテゴリのトップページに戻る
Incubator(Pukiwiki)
634ラボ
   UIコレクションギャラリー
   ZO-3ジェネレーター

サイト検索


Y!ログール