自动类型转换
为什么会出现?怎么转换?转换的规则?
首先:在实际项目中会出现不同类型的变量相互赋值。为了可以通过编译,所以有这样的一个底层机制。
其次:怎么转换?一句换 “小类型-->大类型”;
eg:byte a=12;
int b=a;
System.out.println(a);
System.out.println(b);
最终输出:
12
12
具体规则以及实例如下:
自动转换类型与运算机制:
1)在表达式中参与运算的数据类型取决于最高级的数据类型。
1.Eg:
byte a=2;
int b=3;
long c=4;
则:a+b+c的结果是一个long类型的数据;
long result=a+b+c;
2)在表达式中byte,short,char类型都会先转换为int类型再参与运算;
2.eg:
byte a=4;
short b=5;
根据第一条规则:a+b的结果应该是short类型的
但是根据第二条规则:byte和short类型都先转换为int 类型了,所以a+b的结果应该用int 类型的数据去接收。