public class Test14
{
public static void main(String[] args)
{
int i=5;
double d=5.0;
boolean b1=(i==d);
System.out.println(b1);
char c='a';
long l=97l;
boolean b2=(c==l);
System.out.println(b2);
boolean b3=true;
boolean b4=false;
boolean b5=(b3==b4);
System.out.println(b5);
}
}
上面的代码输出结果为:true、true、false不太理解。
i为int类型,且为5,d为double类型,且为5.0,为什么在进行比较是否相等时尽然是相等的,是在比较的过程中i自动升级类型成double类型了吗?
同理是字符c和long长整型。
为什么会输出来结果为true,而不是false?java里面哪些运算符在进行互相运算时会自动升级类型?