优化之前的代码段:
package day02;
public class PrimeNumberTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
boolean isFlag = true;
for(int i = 2;i<=100;i++) {
for(int j = 2;j < i;j++) {
if(i % j == 0) {
isFlag = false;
}
}
if(isFlag ==true) {
System.out.println(i);
}
isFlag = true;
}
}
}
优化之后的代码段:
package day02;
public class PrimeNumberTest1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
long start = System.currentTimeMillis();//记录编译开始时间
boolean isFlag = true;
int count=0;//记录个数
for(int i = 2;i<=100000;i++) {
for(int j = 2;j <= Math.sqrt(i);j++) {//优化二,对本身是质数的有效
if(i % j == 0) {
isFlag = false;
break;//优化一,本身非质数有效
}
}
if(isFlag ==true) {
System.out.println(i);
count++;
}
isFlag = true;
}
long end = System.currentTimeMillis();//记录编译结束时间
System.out.println("所花费的时间:"+(end-start));
System.out.println("质数的个数为:"+count);
}
}