关于java取余问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于java取余问题相关的知识,希望对你有一定的参考价值。

System.out.println("5%3="+5%3);
System.out.println("5%-3="+5%-3);
System.out.println("-5%3="+-5%3);
System.out.println("-8%-5="+-8%-5);
结果是:
5%3=2
5%-3=2
-5%3=-2
-5%-3=-2
后三个想不明白为什么5%-3=2,-5%3=-2,而-5%-3=-2呢?

带有负号求余数的时候,当做是正数取余
最后符号与第一个一样
参考技术A 你的程序运行和你问题不一样
int i=0;
i=5%3;
System.out.println("5%3="+i);
i=5%-3;
System.out.println("5%-3="+i);
i=-5%3;
System.out.println("-5%3="+i);
i=-5%-3;
System.out.println("-5%-3="+i);
结果:
5%3=2
5%-3=2
-5%3=-2
-5%-3=-2

不过你要是问为什么求余后结果是正或负,你可以这样认为,被除数决定了余数的正负本回答被提问者采纳
参考技术B 负数做除数的时候取余数是按照正号除数来取;
而负数做被除数的时候相当于先算取余操作,再加上负号

java取余(java取余数的函数)

java 求余数

用%就可以。

int i = 5;

int j = 8;

int z = 8 % 5;

System.out.println("余数:" + z);

结果为3。上班的时间就不能把他算到加班的时间里了.我觉得是这样的,一天工作8小时,不能直接初24就表示天.我觉得天应该是:89/16,16表示不是正常上班的时间也就是加班的时间.至于小时怎么算:89%16,那样算才对.public void calcTime( int hours )

int hoursperday = 8;//多少小时算一天,按8小时计

int day = hours/hoursperday;//几个整天

int hours = hours%hoursperday;//零几个小时

String info = hours == 0 ? day + "天" + hours + "小时": day + "天整";//0小时显示为x天整

public class Test

public static void main(String[] s)

System.out.println(89/24+"天"+89%24+"小时");

其中89/24 “/”为取整数部分即天数

89%24 “%”(音:莫德)为取余数a % 2 == 0

4%2 == 0

3%2 != 0

如果取模不为0则说明是奇数,否则是偶数!!public class yusu

public static void main(String[] args)

double g = 89;

double day =24;

int gt =(int) g/ (int)day;

System.out.println("工作了"+gt+"天"+89%24+"小时");

java 取余

符号是“%”,双目运算符,且符号两端的操作数必须是整数。如“8%7”,而不是“8.1%7”。

运算所得的结果,是进行除法运算后的余数,如“10/3”,结果为3,余数为1,所以“10%3 = 1”。

以上是关于关于java取余问题的主要内容,如果未能解决你的问题,请参考以下文章

%在java中啥意思

编程入门关于编程语言中的取余问题

Java中的HashCode问题

java里取余的问题

java中的整除和取余有啥细节。

java中取余运算符 (%)