程序验证:
public class Test {
public static void main(String[] args) {
System.out.println('a'+'b');
}
}
结果:
195
结论:
当对byte、short、char类型进行混合运算时,最终结果一定是整型,当然你也可以把它们都转换成int类型的,之后在进行混合运算
当多种数据类型进行混合运算的时候,最后的数据类型一定是它们中取值最大的那个数据类型,如果里面有字符串的话,那最后的数据类型一定是字符串类型,至于中间怎么运算的,接下来我通过几个例子来说明一下:
例1:
public class Test {
public static void main(String[] args) {
System.out.println(1 / 2 + 1.1);
System.out.println(1.0 / 2 + 1.1);
}
}
结果:
1.1
1.6
解释:
如果没有直接和1.1相加运算,那1/2还是按照整型去计算的,计算结果是0,然后加上1.1,结果就是double类型的;
如果计算的过程中直接就是1.0/2,那结果就是0.5,之后和1.1相加那结果就是1.6,结果还是double
例2:
public class Node {
public static void main(String[] args) {
System.out.println(1 + 2 + "3");
System.out.println("1" + 2 + 3);
}
}
结果:
33
123
解释:
通过第一个结果可以看出是先进行1+2,得出结果是3,之后在和字符串3拼接,所以结果是字符串33;
然后看第二个结果,那就是字符串1和2拼接,结果是字符串12,然后字符串12和3拼接,结果就是字符串123;