💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
# Java 程序:检查数字是否为质数 > 原文: [https://www.programiz.com/java-programming/examples/prime-number](https://www.programiz.com/java-programming/examples/prime-number) #### 在本文中,您将学习检查数字是否为质数。 这是使用 Java 中的`for`循环和`while`循环完成的。 质数是一个只能被两个数字整除的数字:1 和它本身。 因此,如果任何数字可被其他数字整除,则它不是质数。 ## 示例 1:使用`for`循环检查质数的程序 ```java public class Prime { public static void main(String[] args) { int num = 29; boolean flag = false; for(int i = 2; i <= num/2; ++i) { // condition for nonprime number if(num % i == 0) { flag = true; break; } } if (!flag) System.out.println(num + " is a prime number."); else System.out.println(num + " is not a prime number."); } } ``` 运行该程序时,输出为: ```java 29 is a prime number. ``` 在上述程序中,`for`循环用于确定给定数字`num`是否为质数。 我们只需要遍历`num`的 2 到一半,因为没有数字可被其一半以上的整数整除。 在`for`循环内,我们检查该数字是否可被给定范围`(2..num/2)`中的任何数字整除。 如果是,则将`flag`设置为`true`,我们就跳出了循环。 这确定`number`不是质数。 如果`num`不能被任何数整除,则`flag`为`false`,而`num`为质数。 * * * ## 示例 2:使用`while`循环检查质数的程序 ```java public class Prime { public static void main(String[] args) { int num = 33, i = 2; boolean flag = false; while(i <= num/2) { // condition for nonprime number if(num % i == 0) { flag = true; break; } ++i; } if (!flag) System.out.println(num + " is a prime number."); else System.out.println(num + " is not a prime number."); } } ``` 运行该程序时,输出为: ```java 33 is not a prime number. ``` 在上面的程序中,使用`while`循环代替`for`循环。 循环一直运行到`i <= num/2`为止。 在每次迭代中,检查`num`是否除以`i`,并将`i`的值增加 1。 访问此页面以了解如何[显示两个间隔之间的所有质数](/java-programming/examples/prime-number-interval "Display all prime numbers between two intervals ")。