1

この記事の目次



1.  JAVAのデータ型


  • JAVAでは変数を宣言するときに「データ型」を定義する必要がある、つまり、変数に入るデータがどういったものか?を先に決めておく必要があるという意味になる。
  • 次のように宣言する

    データ型名 識別子;
    int age;
    String name;
    long id;

    この時のint、String、longがデータ型だ。データ型によって、変数に代入できる値、範囲も違います。

    JAVAのデータ型は2種類に分けられています。プリミティブ型と参照型です。次で詳しく紹介します。

    2.  プリミティブ型(Primitive Type)


    プリミティブ型というのは、Javaプログラミング言語によってあらかじめ定義された型です。予約されたキーワードによってデータ型ごとに型の名前が付けられています。

     ●  整数型(Integral Type)

    データ型 サイズ(データ量) 範囲
    byte 8 -128から127までの整数の値。 byte byteNumber = 100
    short 16 -32768から32767の整数の値 short shortNumber = 10000
    int 32 -2147483648 から2147483647まで整数の値。 int intNumber = 100000
    long 64 -9223372036854775808から9223372036854775807までの整数の値。 long longNumber = 100000

     ●  浮動小数点型(Floating-Point Type)

    浮動小数点型は、浮動小数点の値を表している。

    データ型 サイズ(データ量) 範囲
    float 32 32ビット単精度小数点 float floatNumber = 9.08f
    double 64 64ビット倍精度小数点 double doubleNumber = 9.08

     ●  文字を扱うデータ型

    String型とChar型は、どちらも文字を扱うデータ型です。

    Char型は1変数で1文字を扱います、例: Char a = ‘あ’

    Char型で2文字以上の文字列を扱う際は、次のように配列を用いることになります。

  • Char a[0] = ’あ’
  • Char a[1] = ’い’
  • Char a[2] = ’う’
  • Char a[3] = ’え’
  • 一方、String型は1変数で2文字以上の文字列を扱うことができます。例: String b = “あいうえ”

    注意:String型はプリミティブ型ではなく、参照型(クラス型)ですが、文字を取り扱うデータ型なので、覚えやすいように、char型と一緒に紹介しました。

     ●  論理型(boolean Type)

  • 論理型は、真(true)と偽(false)の表記によって示されるふたつの値を持つ論理値を表現します。
  • 例:boolean boolValue = true;
  • 3.  参照型(クラス型)


  • Javaの変数には、基本的なデータを格納するための値型(プリミティブ型)があります。
  • 参照型には、クラス型、インターフェイス型、型変数、配列型があります。
  • 基本型と何が違うかと言うと、基本型はデータそのものを表しているが、参照型はデータのある場所を参照するためのデータであるということです。
  • 各プリミティブ型に応じて、参照型は以下のようにあります。
  • プリミティブ型 参照型
    boolean Boolean
    char Character
    byte Byte
    short Short
    int Integer
    long Long
    float Float
    double Double

    4.  JAVAの型変換


     ●  暗黙的な型変換(Implicit Casting)

    暗黙的な型変換とはあるデータ型からより広いデータ格納領域の型への変換です。この時、その変数のデータ格納領域が広くなり、つまり、データ量が増えるわけですが、元の変数の値が変わらないのです。変換順は以下のようです。

    byte → short → int → long → float → double

    package helloworld;
     
    public class HelloWorld {
     
        public static void main(String[] args) {
            // 暗黙的に型が変換される例
            int i = 100;    
            long l = i;     // integer型からlong型に上げる
            float f = l;    // long型からfloat型に上げる
            System.out.println("変数iの価値 = " + i);
            System.out.println("変数lの価値 = " + l);
            System.out.println("変数fの価値 = " + f);
            
        }
     
    }

    実行結果:

    説明:

  • 変数iと変数fの型は整数(integer)なので、integer型から変換されたlong型の変数lのデータ格納領域が広くなっただけで、どちらも整数ですので、結果100は変わりません。
  • long型からfloat型に変換するときに、データ格納領域が広くなった上に、整数から少数に変換したわけですので、結果100.0になりました。
  •  ●  明示的な型変換

    明示的な型変換とはあるデータ型からより狭いデータ格納領域の型への変換です。この時、その変数のデータ格納領域が狭くなり、つまり、データ量が減り、変数の値が変わることがあるので要注意です。

    変換順は以下のようです。

    double → float → long → int → short → byte

    package helloworld;
    
    public class HelloWorld {
     
        public static void main(String[] args) {
            // 明示的に型が変換される例
            
            double d = 100.04;  
            long l = (long) d;    // double型からlong型に下げる
            int i = (int) l;      // long型からinteger型に下げる
            System.out.println("変数dの価値 = " + d);
            System.out.println("変数lの価値 = " + l);
            System.out.println("変数iの価値 = " + i);
            
        }
     
    }

    実行結果:

    説明:

  • 暗黙的な型変換と逆ですが、変数d (double型)から変数l (long型)から変換するときに、少数から整数に変換するわけですから、dの値の少数部分が削除されて、100.04から100になりました。
  • この変換は変数の値は変わることが多くて、プログラム全体の結果に影響を及ぼす場合がありますので、注意する必要があります
  •  ●  よく使われている型変換メソッド

  • integer → String : Integer.toString(変数)
  • int i = 123;
    String s = Integer.toString(i); 
    System.out.println('s = ' + s);//結果: 123  (この結果は数字ではなく、123の文字です。)

  • double → String : Double.toString(変数)
  • String → integer : Integer.parseInt(変数)
  • String s= "123";
    int i = Integer.parseInt(s);
     System.out.println(i); //結果は123の数字です。

    Integer.parseInt(s)と書くことで、括弧内の変数sが表す文字列に対応する整数値が得られます。括弧内には、変数解釈できないと、Integer.parseIntは文字列に正しく変換しません。

  • String → double : Double.parseDouble(変数)
  • 5.  まとめ


    この記事に JAVAのデータ型の定義、各種類の使い分けなどを紹介しました。

    JAVAでは変数を宣言するときに「データ型」を定義する必要がある、この段階で、間違ってしまうと、プログラムの全体結果が変わってしまうことがありますので、データ型を理解し、型変換をこなすようにしましょう。

    広告