基本数据类型

来源:互联网 发布:java中如何记录日志 编辑:程序博客网 时间:2024/06/01 10:20

Java的基本数据类型有8种:

      数值型:

             整型:byte  short  int  long

             浮点型:float  double

      字符型:char

      布尔型:boolean

说明:

1、整型数据,位数和取值范围不同:byte(8位 -128~127)  short(16位 -32768~32767)  int(32位)  long(64位)

2、浮点型数据,可以表示小数:float(单精度浮点型)  32位,double(双精度浮点型)  64位。小数默认为double,若要使用float,则在小数后加f表示(12.34f)。

3、字符型char占位32位,2个字节,例如:

      char a = ‘人’;

      char x=’a’;

或者 char x=97; //这是ascall码,表示a。若字符型

若输出单引号,双引号,空格等特殊字符,则需要进行转义:

char x=’\’’;

char x=’\n’;等


虽然每一种引用类型都和Object相容,但是8中基本数据类型却不能,所以java为这8中基本类型都提供了包装类:Byte,Short,Integer,Long,Float,Double,Character,Boolean。

1、基本类型à包装类:Integer i = new Integer(123);

包装类à基本类型:int num = i.intValue();

(注:每一种都有相应的转换方法,使用时可以查阅具体方法)

2、JDK1.5之后,java实现了自动装包/拆包,即基本类型和包装类可以自动转换“

int a = 3;
Collection c = new ArrayList();
c.add(a);//自动转换成Integer.

Integer b = new Integer(2);
c.add(b+2);

这里Integer先自动转换为int进行加法运算,然后int再次转换为Integer。

即如果一个int类型的变量传递到一个需要Integer对象的地方,编译器会在幕后插入一个对Integer构造方法的调用,这是自动装箱;而一个Integer对象被放到需要int类型的地方,则编译器会在幕后插入一个队intValue方法的调用,这是自动拆箱。对于其他的7中基本类型也是如此。