System.out.println(0/0); //编译ok,运行错误
System.out.println(0/0.0);//NaN
System.out.println(1/0.0);//infinity
System.out.println(0.0/0);//NaN
System.out.println((0/0.0) == (0/0.0)); //false
数学曾经学过除数不能为零,而上面的语句却并没有报错,说明是正确的,他前面为double类型,所以后面的零也自动转换为double类型,问题来了:在一个语句中,到底是,还是?如果先进行类型转换在运算,编译时语法会编译通过?先运算后转换那么不是代表不同类型的数可以相互运算?搞不懂,求大神 |