java高手来一下,新手问题

一个2个问题 假定X和Y是整形.其值分别为16和5,侧X/Y和(double)x/y的值分别为什么? 表达式(11+3*8)/4%3的值是? 请高手帮忙一下 我初学者还没完全搞懂这块 请解答的时候详细一点

x/y这是除法运算,得出来的值为x/y的值 两个整数相除的结果是整数,这一点与数学中是不同的,在Java中,两个整数相除的结果类似于数学中的求模运算。整除的余数是用%表示,例如15 / 2 = 7,而不是7.5,15 % 2 = 1。 (double)x/y是将x/y的值转换成double数据类型 (11+3*8)/4%3这里考的是运算符的优先级,在这里应该是先括号,括号里先乘后加,口号外按照从左至右计算,分别是35/4%3、 8%3 2 所以(11+3*8)/4%3=2
采纳哦
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-07-19
说3.0的思路是对的,但有个细节错了,那就是括号的优先级最高,至少比除号高,这样:(double)x/y就不是说将x/y的结果转为double,而是将x转为double再除以y,这样结果就是3.2,将int转为double,默认只留一位小数,就是.0,所以相当于16.0/5,结果是3.2.第二题2是没有问题的
相似回答