java问题 1/2=0 1/2.0=?

JAVA运算符和表达式中2个整数X和y的乘法和求余遵循规则(x/y)*y+x%y=x整数相除的结果取其整数部分,%是求两个数相除的余数例如1/2的结果是0那么1/2.0结... JAVA 运算符和表达式中 2个整数X和y的乘法和求余遵循规则
(x/y)*y+x%y=x

整数相除的结果取其整数部分,%是求两个数相除的余数 例如 1/2的结果是0 那么1/2.0结果是多少呢?怎么算出这个结果的?

50分悬赏
展开
 我来答
匿名用户
2013-11-22
展开全部
结果是0.5。
因为1是整型,2.0是浮点型,当两个相加的时候,java会自动的把整型自动转换称为浮点型,这个称之为“自动类型转换”自动类型转换的含义是:将一中类型的变量赋给另一种类型的变量时,就会发生自动类型转换。发生此类型的转换要满足的条件是:1两种类型必须兼容;2目标类型大于源类型。
所以1.0/2.0=0.5。
匿名用户
2013-11-22
展开全部
1/2=0那是因为这样写就默认为int类型的,而1/2.0=0.0.那是因为1是int类型的,而2.0默认为double类型的,而这样可以从int类型自动转换为double类型的,所以是0.0。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2019-08-26
知道答主
回答量:1
采纳率:0%
帮助的人:709
展开全部
为什么1/2=0,那是你的代码类型写的不正确,你应该是这样写的
int a=1/2 结果为0, 或者
double a=1/2 结果为0.0呢,原因在于
等号右边的1/2类型默认是int型,2个int型数字相除也是int型,等号右边可以看成是int(1/2)=0,将0变成double类型,所以是0.0,那怎么更改呢,2种方法:
double a=double(1/2) 或者
double a=1.0/2.0
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式