# Java 实现素数判定并输出 1~120 内所有素数附原理详解## 前言素数Prime Number是数论中的基础概念也是编程面试中的高频考点。本文从素数的数学定义出发逐步优化 Java 代码最终高效输出 1~120 之间的所有素数并附上完整代码、运行结果和原理图解。## [TOC]## 一、什么是素数**素数**是指在大于 1 的自然数中除了 1 和它本身以外不再有其他因数的数。例如2、3、5、7、11 等都是素数而 1、4、6、8、9 则不是。**特别注意**1 既不是素数也不是合数它是“单位元”。## 二、基本思路要输出 1~120 内的所有素数直观想法是1. 遍历 1 至 120 之间的每一个整数2. 对每个数判断它是否为素数3. 若为素数则输出并统计个数。关键在于实现一个高效且准确的 **素数判断方法**。## 三、素数判定方法的逐步优化我们从一个最简单的判断函数开始一步步优化到极致性能。### 3.1 原始暴力法javapublic static boolean isPrime(int n) {if (n 1) return false;for (int i 2; i n; i) {if (n % i 0) return false;}return true;}