黑马程序员技术交流社区

标题: JAVA程序问题... [打印本页]

作者: 杨武林    时间: 2013-4-2 20:46
标题: JAVA程序问题...
class OperateDemo
{
        public static void main(String[] args)
        {
                                System.out.println(1%-5);
                                System.out.println(-1%5);
                  }

这答案大家都知道是是1跟-1  可是有人知道为什么吗?
作者: 黑马-郑玉元    时间: 2013-4-2 20:54
求余运算,也叫模运算!他的执行结果的正负只与前面的正负有关,前面是正,结果就是正,前面是负,结果就是负!
作者: 疯狂程序    时间: 2013-4-2 21:01
这是取模的基本概念问题
x % y 如果x<y 那么结果永远是左边的,正负号看左边

作者: 黑马杨锦喜    时间: 2013-4-2 21:17
这个涉及到余数的定义:当被除数不够整除时余下的数,既是:余数=被除数-商*除数。1%-5=1-(1/-5)*5=1-(0)*5=1
作者: _王涛    时间: 2013-4-2 21:38
class OperateDemo
{
        public static void main(String[] args)
        {
                                System.out.println(1%-5);//


                                System.out.println(-1%5);//
                  }

模运算就是求两数相除取余数,例如:如果两数符号都为正的话取正,如果有任何一方出现负数,像以上的情况,他们得到的结果正负要看左边,左边为正结果为正,左边为负数,结果就为负。
所以必然出现:
System.out.println(1%-5);------------》1
System.out.println(-1%5);------------》-1





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2