1)8种基本数据类型:
4种整型 :byte(1字节)、short(2字节)、int(4字节)、long(8字节)
2种浮点类型: float(4字节)、doubble(8字节)
1种表示Unicode编码的字符单元的字符类型:char
1种表示真假值的boolean类型:boolean
2)数值类型之间的转换:
1> 自动类型转换:小转大,比如:int类型(4字节)的值将会自动的转换为double类型(8字节);
2> 强制类型转换:大转小,比如:double类型(8字节)的值转换为int类型(4字节);强制类型转换可能会丢失精度;
3)大数值:
如果基本的整数和浮点数精度不能够满足需求,Java.math包中有两个很有用的类:BigInteger和BigDecimal。
BigInteger类实现了任意精度的整数运算;
BigDecimal类实现了任意精度的浮点数运算;
使用静态的valueOf方法可以将普通的数值转换为大数值:
BigInteger a=BigInteger.valueOf(100);
遗憾的是,不能使用人们熟悉的算术运算符(比如:+和*)处理大数值,而需要使用大数值类中的add和multiply方法。
eg:
BigInteger c=a.add(b); // c=a+b
BigInteger d=c.multiply(b.add(BigInteger.valueOf(2))); // d=c*(b+2)
4)枚举类型
为什么用枚举类型?
有时候,变量的取值只在一个有限的集合内。例如:销售的服装或者披萨的大小只有小、中、大、超大这四种尺寸。当然,你也可以将这些尺寸分别编码为:1、2、3、4或者S、M、L、X。但这样存在着一定的隐患,在变量中很可能保存的是一个错误的值;(如0或m)
针对这种情况,可以自定义枚举类型。枚举类型包括有限个命名的值。例如:
enum Size{SMALL,MEDIUM,LARGE,EXTRA_LARGE};
现在,可以声明这种类型的变量:
Size s=Size.MEDIUM;
Size类型的变量只能存储这个类型声明中给定的某个枚举值,或者null值,null值表示这个变量没有设置值。