问题描述
我正在编写程序,却忘记编写Math.round()
,而在查看代码时,我看到了
int number = 1/2;
为什么这不会引发错误
required type: int | provided:double
?
注意:如果这是一个愚蠢的问题,请原谅我是编程新手。
解决方法
进行自动类型转换。
此处的变量“数字”将自动转换后的值存储为int 0。
自动类型转换不一定总是有效。
当您写int number = 0.5;
时会报错
但是当您写int number = (int) 0.5;
时,它称为显式类型转换,现在数字存储0值。
通常情况下,使用double
进行数学运算很可能会给double
,因为int会给出int
。
但是,如果不是这样的话,Java将在点(。)之后去除数字并将其值设置为剩余的值。示例:
3/4 = 1.5 => Java => 1