JAva学習ノート(一)--データ型


一、データ型
        
基本データ型:
文字タイプ(char)
ブールタイプ(boolean)
数値タイプ:整数タイプ(byte、short、int、long)
浮動小数点数タイプ(float、double)
浮動小数点型のデフォルトはdoubleタイプです.
参照データ型:
クラス(class)
インターフェイス
はいれつ
1)基本データ型:基本タイプはスタックに格納されるため、スタックに格納されている対応するパッケージクラスのインスタンスオブジェクトよりもアクセス速度が速くなります.
2)参照データ型
注意:voidもデータ型です.対応するパッケージクラスjavaもあります.lang.Voidですが、直接操作することはできません.
下記のコードは転載されています
public class PrimitiveTypeTest {  
    public static void main(String[] args) {  
        // byte  
        System.out.println("    :byte      :" + Byte.SIZE);  
        System.out.println("   :java.lang.Byte");  
        System.out.println("   :Byte.MIN_VALUE=" + Byte.MIN_VALUE);  
        System.out.println("   :Byte.MAX_VALUE=" + Byte.MAX_VALUE);  
        System.out.println();  
  
        // short  
        System.out.println("    :short      :" + Short.SIZE);  
        System.out.println("   :java.lang.Short");  
        System.out.println("   :Short.MIN_VALUE=" + Short.MIN_VALUE);  
        System.out.println("   :Short.MAX_VALUE=" + Short.MAX_VALUE);  
        System.out.println();  
  
        // int  
        System.out.println("    :int      :" + Integer.SIZE);  
        System.out.println("   :java.lang.Integer");  
        System.out.println("   :Integer.MIN_VALUE=" + Integer.MIN_VALUE);  
        System.out.println("   :Integer.MAX_VALUE=" + Integer.MAX_VALUE);  
        System.out.println();  
  
        // long  
        System.out.println("    :long      :" + Long.SIZE);  
        System.out.println("   :java.lang.Long");  
        System.out.println("   :Long.MIN_VALUE=" + Long.MIN_VALUE);  
        System.out.println("   :Long.MAX_VALUE=" + Long.MAX_VALUE);  
        System.out.println();  
  
        // float  
        System.out.println("    :float      :" + Float.SIZE);  
        System.out.println("   :java.lang.Float");  
        System.out.println("   :Float.MIN_VALUE=" + Float.MIN_VALUE);  
        System.out.println("   :Float.MAX_VALUE=" + Float.MAX_VALUE);  
        System.out.println();  
  
        // double  
        System.out.println("    :double      :" + Double.SIZE);  
        System.out.println("   :java.lang.Double");  
        System.out.println("   :Double.MIN_VALUE=" + Double.MIN_VALUE);  
        System.out.println("   :Double.MAX_VALUE=" + Double.MAX_VALUE);  
        System.out.println();  
  
        // char  
        System.out.println("    :char      :" + Character.SIZE);  
        System.out.println("   :java.lang.Character");  
        //              Character.MIN_VALUE        
        System.out.println("   :Character.MIN_VALUE="  
                + (int) Character.MIN_VALUE);  
        //              Character.MAX_VALUE        
        System.out.println("   :Character.MAX_VALUE="  
                + (int) Character.MAX_VALUE);  
    }  
}  

実行結果
1、    :byte      :8
2、   :java.lang.Byte
3、   :Byte.MIN_VALUE=-128
4、   :Byte.MAX_VALUE=127
5、
6、    :short      :16
7、   :java.lang.Short
8、   :Short.MIN_VALUE=-32768
9、   :Short.MAX_VALUE=32767
10、
11、    :int      :32
12、   :java.lang.Integer
13、   :Integer.MIN_VALUE=-2147483648
14、   :Integer.MAX_VALUE=2147483647
15、
16、    :long      :64
17、   :java.lang.Long
18、   :Long.MIN_VALUE=-9223372036854775808
19、   :Long.MAX_VALUE=9223372036854775807
20、
21、    :float      :32
22、   :java.lang.Float
23、   :Float.MIN_VALUE=1.4E-45
24、   :Float.MAX_VALUE=3.4028235E38
25、
26、    :double      :64
27、   :java.lang.Double
28、   :Double.MIN_VALUE=4.9E-324
29、   :Double.MAX_VALUE=1.7976931348623157E308
30、
31、    :char      :16
32、   :java.lang.Character
33、   :Character.MIN_VALUE=0
34、   :Character.MAX_VALUE=65535

 
基本データ型
メモリ使用量
値範囲
パッケージクラス
byte
1バイト(8ビット)
-128 ~ 127(2^7 ~ 2^7-1)
Byte
short
2バイト(16ビット)
-2^15 ~ 2^15-1
Short
int
4バイト(32ビット)
-2^31 ~ 2^31-1
Integer
long
8バイト(64ビット)
-2^63 ~ 2^63-1
Long
boolean
1バイト(8ビット)
trueまたはfalse
Boolean
char
2バイト(16ビット)
Unicode 0 ~ Unicode 2^16-1
Character
float
4バイト(32ビット)
-3.403E38~3.403E38
Float
double
8バイト(64ビット)
-1.798E308~1.798E308
Double
注意:FloatとDoubleの最小値と最大値は科学的な記数法で出力され、最後の「E+数字」はEの前の数字に10の何倍を乗じたかを示します.例えば3.14 E 3は3.14です×1000=3140、3.14 E-3は3.14/1000=0.00314です.
二)基本データ型間の相互変換
1)ブール型は他のデータ型と変換できません.
2)数値タイプは2種類の変換方法がある
a)自動変換
値範囲の小さいデータを値範囲の大きいデータに変換すると、自動的に変換されます.
public class Lesson03_1{

  public static void main(String[] args){

      byte byte1=100;
      short short1=10000;
      char char1= 23002;
      int int1= 1000000;
      long long1= 9876543210L;
      float float1= 9876543210.12345f;
      double double1= 9876543210.123456789;

      short short2=byte1;
  //  byte byte2=short1;
  }
}

shortがbyteに変換されると、精度損失が報告されます.
b)強制変換
強制的に変換すると精度損失が発生し、short 1が250でbyteに変換すると-6となる.
public class Lesson03_2{

    public static void main(String[] args){

        short short1=100;
        byte byte1=(byte)short1;
        System.out.print(byte1);

    }
}

三)文字列
public class Lesson03_4{
    public static void main(String[] args){
        String name1="nebulayao";
        String name2=null;
        name2=name1;
        System.out.println("name2="+name2);
    }
}