3.8 求模运算符

现在我们再进一步:假设你有一个以英寸为单位的值,并且想将其转换为英尺数和英寸数。为此,需要除以 12(1 英尺对应 12 英寸),并将余数记录下来。

本书前面已经介绍过除法运算符(/),用于计算两个数的商。如果两个操作数都为整数,那么它将执行整数除法。Java 还提供了求模(modulus)运算符(%),用于计算两个数相除的余数。

可像以下这样用除法和求模运算来将英寸数转换为英尺数和英寸数:

  1. quotient = 76 / 12; // 除法
  2. remainder = 76 % 12; // 求模

第 1 行的结果为 6,第 2 行读作“76 与 12 的模”,结果为 4。因此,76 英寸相当于 6 英尺 4 英寸。

求模运算符看起来像百分号,但其实可以将其视为除号(÷)向左旋转 90 度的结果。

求模运算符很有用,例如,可以检查一个数能否被另一个数整除:如果 x % y 的结果为零,就说明 x 能够被 y 整除。可用求模运算来提取数字中的某些位:x % 10 的结果为 x 的个位,而 x % 100 的结果为最后两位。另外,很多加密算法都大量地使用了求模运算符。