JAVA 数字转换是有规律的
从小到大依次为 byte<short<int<long<float<double
然而 两种不同类型的类型默认的个不同
整形 的默认 为 int 型
浮点型 默认为 double 型
举个例子
short a,b,c;
c=21;
b=9;
a=c+d
这句话在数学逻辑中来说是正确的
然而在编程中 byte short char 会自动被提升为 int 型
上面虽然最后它的值不会改变 但是 如果想要 a也是 short 型 就得加强制转换
正确的为 a=(short)c+d;
整形的 字面量会自动默认为 int型
例如 long y=123456789987654321 这句话如果不在后面加上 L 会报错无法通过编译
double 后面默认有 d float 单精度 如果想要它的值为 float 型 必须加上 F