Menu
CoddyTech

取模运算符

本课属于 Coddy Java 学习旅程的“基础知识”单元。第 16 课,共 73 课。

取模运算符 % 用于求除法的余数。在 Java 中,它的语法很简单:

result = dividend % divisor;
  • 被除数:被除的数。
  • 除数:用来除被除数的数。
  • 结果:除法的余数。

例如:

result = 10 % 3;

这里,10 除以 3。3 在 10 中可以整除 3 次,余数是 1。因此,result 的值为 1。

如果被除数比除数小,会怎样?这种情况下,除数可以整除 0 次,所以余数就是被除数本身。例如,2 % 3 等于 2,因为 3 在 2 中可以整除 0 次,余数是 2。

通常,取模运算用于检查一个数是偶数还是奇数:

  • 如果一个数是偶数,那么它除以 2 的余数为 0。
  • 如果一个数是奇数,那么它除以 2 的余数为 1(如果这个数是负数,则余数为 -1),所以 number % 2 != 0 可以检查一个数是否为奇数。

对浮点数(double)使用取模运算时,它的工作方式与整数类似,但会保留小数精度。例如:

double result = 5.5 % 2.0;
// result 的值是 1.5

它的工作原理是这样的:5.5 中能容下 2 个 2.0(共 4.0),余数是 1.5(5.5 - 4.0 = 1.5)。

注意:double 值以近似值的形式存储,因此有些余数打印出来时会有微小误差。例如,5.2 % 2.0 打印出来是 1.2000000000000002,而不是 1.2。这是浮点数的正常行为,不是代码有误。

另一个例子:

double result = 7.5 % 3.5;
// result 的值是 0.5
challenge icon

挑战

入门

编写代码,初始化三个变量:a (int)、b (double) 和 c (int),分别赋值为 9、2.6 和 11。

然后,初始化以下变量:

  • d (int),用于保存 a 对 2 进行取模运算的结果 
  • e (int),用于保存 a 对 3 进行取模运算的结果
  • f (double),用于保存 b 对 1.5 进行取模运算的结果
  • g (double),用于保存 b 对 3.9 进行取模运算的结果
  • h (int),用于保存 c 对 10 进行取模运算的结果

查看结果,看看不同的被除数和除数会如何影响结果。

亲手试试

public class Main {
    public static void main(String[] args) {
        // 在下面输入你的代码
        
        
        // 不要修改下面的代码行
        System.out.println("a = " + a);
        System.out.println("b = " + b);
        System.out.println("c = " + c);
        System.out.println("d = " + d);
        System.out.println("e = " + e);
        System.out.println("f = " + f);
        System.out.println("g = " + g);
        System.out.println("h = " + h);
    }
}
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

基础知识中的所有课

自己练习: Java 在线编译器