英文:
Auto Conversion of floating point number to int. - Java
问题
当我在编写程序时忘记写Math.round()
,当我回顾代码时,我看到了这个代码:
int number = 1/2;
为什么这不会引发一个错误,显示为required type: int | provided: double
?
注意:如果这是一个愚蠢的问题,请原谅,我是编程新手。
英文:
I was writing a program and forgot to write Math.round()
and when I was reviewing the code I saw this
int number = 1/2;
why doesn't this raise an error of
required type: int | provided:double
?
Note: If this is a silly question please forgive I new to programming.
答案1
得分: 1
这是一种自动类型转换。在这里,变量'number'存储了自动转换为整数0的值。
然而,自动类型转换并不总是有效。当你写int number = 0.5;
时会出现错误,但是当你写int number = (int) 0.5;
时,这被称为显式类型转换,此时number存储0的值。
英文:
its an automatic type conversion.
Here the variable 'number' stores the auto converted value to int 0.
well auto type casting doesn't always work.
when you write int number = 0.5;
it will give an error
but when you write int number = (int) 0.5;
its called an explicit type casting and now number stores 0 value.
答案2
得分: 1
Sure, here's the translated content:
通常使用 double
进行数学运算的话,很可能会得到 double
的结果;而对于整数,则会得到一个 int
的结果。
然而,如果情况不是这样的话,Java 会截断小数点后面的数字,并将值设置为剩下的部分。例如:
3/4 = 1.5 => Java => 1
英文:
Normally doing math operations using double
will most likely be giving double
on the other hand for int it will give a int
.
However, if thats not the case Java will strip the number after the dot (.) and set the value to whatever is left. Example:
3/4 = 1.5 => Java => 1
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论