Java教程的摘录:
与其他一些语言不同,Java 没有自动类型转换。类型不匹配不会导致翻译警告,但会导致错误消息。对于每种类型,都严格定义了一组允许的值和允许的操作。
但是,实际示例有效(执行不同类型的操作数之间的计算):
public class MyClass {
public static void main(String args[]) {
int y = 54;
double x = 1.543E4;
char f = '2';
double h = y*x*f;
System.out.println(h);
}
}
说明书还有别的意思吗?请提供类型不匹配的示例。
很可能是指执行任务的情况;
此代码段将编译为 C,但在 Java 中会导致编译错误:
升级版:
在 Java 中,沿着以下链有一组原语:
那些。当你有
int a = 1; long b = 2;那么算术运算的结果a*b将是long。这和数字的定义有关,比如
byte只有1个字节可以包含从-127到128的数字,int得到整个数字范围byte,因为有4个字节,float可以double包含指数形式的数字,所以他们可以代表long,等等。我推荐 - Shieldt G. - Java 8. The Complete Guide - 2015。关于它的一切都在那里进行了很好的描述。关于您的示例,请添加 - String str="string"; h = y x f+str; 看看会发生什么。