Java中八种基本数据类型:byte,int,      short,   long,  double,float,  char,      boolean

   Java中的包装类有:           Byte,Integer,Short,Long,Double,Float,Charactor,Boolean,以及还有,BigInteger、BigDecmail,BigInteger、BigDecimal没有相对应的基本类型,主要应用于高精度的运算,BigInteger 支持任意精度的整数。


   1、基本数据类型:不用new来创建变量,在堆栈中创建一个北非是引用的自动变量,且这个变量拥有它的值,高效。

int

4字节(32位)

-2147483648 ~ 2147483647   (正好超过20亿)

short

2字节(16位)

-32768 ~ 32767

long

8字节(64位)

-9223372036854775808 ~ 9223372036854774807

byte

1字节(8位)

-128 ~ 127

float                                     

4字节(32位)

大约±3.40282347E+38F (有效位数为6-7位)

double

8字节(64位)

大约±1.79769313486231570E+308 (有效位数为15位)

   

   2、包装类型:Java中的包装类,大部分都有如下方法:

       (1)带有基本值参数并创建包装类对象的构造函数.如可以利用Integer包装类创建对象,Integer obj=new Integer(145);

       (2)带有字符串参数并创建包装类对象的构造函数.如new Integer("-45");

       (3)可生成对象基本值的typeValue方法,如obj.intValue();

       (4)将字符串转换为基本值的 parseType方法,如Integer.parseInt(args[0]);

       (5)生成哈稀表代码的hashCode方法,如obj.hasCode();

       (6)对同一个类的两个对象进行比较的equals()方法,如obj1.eauqls(obj2);

       (7)生成字符串表示法的toString()方法,如obj.toString().

    3、包装类与基本数据类型,以及String 的转换关系

基本类型------>包装器类

           Integer obj=new Integer(145);

          包装器类------>基本类型
          int num=obj.intValue();

          字符串------>包装器类
          Integer obj=new Integer("-45.36");

          包装器类------>字符串包装器类

          String str=obj.toString();

          字符串------>基本类型
          int num=Integer.parseInt("-45.36");

          基本类型------>字符串包装器类

         String str=String.valueOf(5);


   4、Java中的自动装箱和自动拆箱。

      以int和Integer为例:

      自动装箱:如果一个int型的变量,被传入到一个需要Integer对象的地方,那么编译器在幕后插入一个队Integer构造方法的调用。

      自动拆箱:如果一个Integer对象呗传入到需要int型的变量的地方,则编译器将在幕后插入一个intValue方法的调用。


  5、基本数据类型与包装类的异同:

       1)、在Java中,一切皆对象,但八大基本类型却不是对象。

                 2)、声明方式的不同,基本类型无需通过new关键字来创建,而封装类型需new关键字。

3)、存储方式及位置的不同,基本类型是直接存储变量的值保存在堆栈中能高效的存取,封装类型需要通过引用指向实例,具体的实例保存在堆中。


5)、使用方式的不同,比如与集合类合作使用时只能使用包装类型。