我不理解java中的铸造,而不是实际中的字符铸造。我不能预测这段代码的结果,因为我不明白字符的转换将“再现”.Some的解释!谢谢
public class test {
public static void main(String[] args) {
int u = 10;
double v = 22.105;
byte w = 100;
char x = 'a';
float y = 20.5f;
short z = 50;
double d_Value = (float) ((char) (u/v) + y);
Out.print(d_Value);
}}发布于 2020-06-19 23:43:42
char是一种基于整数的数据类型,因此您将失去u/v上的double结果的精度,从而得到一个0号(或\0字符)。然后添加20.5F作为最终结果:20.5。
强制转换比语言中的大多数运算符具有更高的优先级,因此强制转换在+操作之前是相关的。
https://stackoverflow.com/questions/62473572
复制相似问题