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分悬赏 展开
(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。
因为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。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
为什么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
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询