注册 登录
编程论坛 JAVA论坛

一个很基础的题

不落夕阳 发布于 2016-12-08 11:06, 2761 次点击

public class Tes {
    public static void main(String args[]){
        int y=-10;
        int h=-3;
        System.out.println(y%h);
    }
}
为什么编译结果为-1而不是1?求解
9 回复
#2
s人圭日月2016-12-08 15:09
%  这个符号表示剩余  的余的意思
那么-10  余  3   肯定是余1的   
还有  以后多定义一个常量,int z = y%h  再输出
#3
crf12052016-12-10 16:28
回复 2楼 s人圭日月
为什么要多定义一个常量再输出呢?出于规范考虑还是效率考虑呢?
#4
crf12052016-12-10 16:28
回复 2楼 s人圭日月
为什么要多定义一个常量再输出呢?出于规范考虑还是效率考虑呢?
#5
不落夕阳2016-12-15 11:07
回复 2楼 s人圭日月
答案为什是-1而不是1
#6
guaidaojide2016-12-15 16:21
求余和乘法除法是不一样的,不是负负得正。无论什么正整数负整数,他们的求余都是与他们本身的符号相同。
#7
纵横阳仔2016-12-18 16:21
建议你将
-10%-3;-10%3;10%-3;10%3;都解一下。
你就会发现它的规律。
#8
chi6090163122017-04-23 13:46
实践出真理
#9
will丶2017-04-24 14:12
所有运算符都要看下,-这个符号是相反数的运算符不一定是负
#10
傻傻的学习2017-04-24 16:45
你将
-10%-3;-10%3;10%-3;10%3;都解一下。
你就知道了
1