数据类型基本分为两类:“基本数据类型”和“引用数据类型”;
其中“基本数据类型”分为三类:“整数值型”“字符型char”和“布尔型boolean”。整数值型分两类:“整数类型byte、short、int、long”和“浮点类型float、double”
另一个“引用数据类型”分为三类:“类class”“接口interface”和“数组[](array)”。
看以下代码
//参与运算转换
int a=1;
byte b=2;
int c=a+b;//编译成功
long d=a+b;//编译成功
float e=a+b;//编译成功
看到代码可知道a+b两个不同的类型也可以相加,把两个数相加的值赋给int类型的c,结果没报错,运行成功!这是因为java的运算转换机制。在java中两个类型的变量参与运算,会自动转换成优先级较高的类型;
整型默认int类型,浮点型默认是double类型;
其中byte,short,char参与运算转换,但它们三个之间不转换,它们参与运算时会转成int类型。
优先级:byte,short,char(三个同一级别)–int–long–float–double
|类型|………………..|占用字节|………………..| 范 围 |
byte……………………….1……………………….-128~127
short……………………..2……………………….-2(15)次方~2(15)-1
int…………………………4……………………….-2(31)~2(31)-1
long………………………8……………………….-2(63)~2(63)-1
float………………………4……………………….-3.403E38~3.403E38
double…………………..8……………………….-1.798E308~1.798E308
char……………………….2
boolean…………………1(true和false 一般说为1个字节)