Java Modulo Operator-Java中的Modulus运算符

时间:2020-02-23 14:36:43  来源:igfitidea点击:

当我们将一个整数除以另一个整数时,使用Java Modulo运算符或者模运算符来获取余数。

Java Modulo运算符语法

%字符是Java中的模数运算符。
其语法为:

int remainder = int % int

模运算符始终返回整数。
如果尝试将模运算符与其他任何类型的变量一起使用,则会收到编译错误。

模运算符示例

让我们看一个简单的示例,该示例使用模运算符查找两个整数相除后的余数。

package com.theitroad.java;

public class JavaModuloOperator {

	public static void main(String[] args) {
		int x = 10;
		int y = 3;

		int remainder = x % y;
		System.out.println("10 % 3 = " + remainder);
	}

}

使用Modulus Operator检查整数是偶数还是奇数

模运算符的一种简单使用情况是测试整数是否为奇数或者偶数。

package com.theitroad.java;

import java.util.Scanner;

public class JavaModuloOperator {

	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		
		System.out.println("Please enter an integer:");
		
		int in = scanner.nextInt();
		scanner.close();
		
		if (in % 2 == 0) {
			System.out.println(String.format("%d is even.", in));
		}else {
			System.out.println(String.format("%d is odd.", in));
		}
	}

}

输出:

Please enter an integer:
10
10 is even.

Please enter an integer:
9
9 is odd.

这是检查整数是偶数还是奇数的实用方法。

public static boolean isEven(int x) {
	return x % 2 == 0;
}

public static boolean isOdd(int x) {
	return x % 2 != 0;
}

使用Modulus Operator检查一个整数是否被另一个整数除

我们可以使用取模运算符来检查一个整数是否被另一个整数除。

package com.theitroad.java;

import java.util.Scanner;

public class JavaModuloOperator {

	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);

		System.out.println("Please enter the first integer:");

		int x = scanner.nextInt();

		System.out.println("Please enter the second integer:");

		int y = scanner.nextInt();
		scanner.close();

		if (x % y == 0) {
			System.out.printf("%d is divided by %d", x, y);
		} else {
			System.out.printf("%d is not divided by %d", x, y);
		}

	}

}

输出:

Please enter the first integer:
10
Please enter the second integer:
5
10 is divided by 5

这是检查一个整数是否被另一个整数除的实用程序方法的实现。

public static boolean isDivided(int x, int y) {
	return x % y == 0;
}

具有负整数的模运算符

当模运算符与负整数一起使用时,输出将保留被除数的符号。

jshell> 10 % 3
 ==> 1

jshell> -10 % 3
 ==> -1

jshell> 10 % -3
 ==> 1