Java中% =的意思是什么?

6

%= 在Java中的作用是什么?我听说它可以用来重新分配值?

如果有人能够教授一下,我将不胜感激!谢谢!

minutes=0;
while(true){
minutes++;
minutes%=60;
}

1
在Java中,表达式中的二元运算符(op)形式为x = x op y可以写成x op= y。因此,minutes %= 60等同于minutes = minutes % 60 - user2864740
3个回答

18

这是缩写:

minutes = minutes % 60;

Java中的所有二元运算符都有其他类似的 复合赋值运算符,例如:+=-=*=^=||=等。


3

+=表示加等于:

i+=2;

i = i + 2; 的意思是将变量 i 加上 2,然后再赋值给变量 i。

% 表示取余数: 126 % 10 的结果是 6。

同理可得,%= 表示取余数并赋值:

minutes%=60;

将分钟数设置为minutes%60,这是当minutes除以60时的余数。这样可以防止分钟数超过59。


1
这是一个取模运算,与除法取余相同。minutes%=60;minutes = minutes % 60;相同,也与minutes = minutes - (((int) (minutes/60)) * 60);相同。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接