public static void main(Stirng[] args){
boolean isFlag = true;//标识i是否被j除尽,一旦除尽,修改其值
//获取当前时间距离1970-01-01 00:00:00的毫秒数
long start = System.currentTimeMillis();
int count = 0;
for(int i = 2 ; i <= 100000 ;i++){//遍历100000以内的自然数
//优化二:对本身是质数的自然数有效
for(int j = 2; j <= Math.sqrt(i); j++){//j:被i去除
if(i % j == 0){//i被j除尽,意味着就不是质数
isFlag = false;
break;//优化一:支队本身非质数的自然数是有效的
}
}
if(isFlag == true){
//输出会占用很大的时间,如果去掉输出,算法的时间会大幅度提升,这边我们用一个计数器来测试
// System.out.println(i);
count++;
}
//重置isFlag
isFlag = true;
}
long end = System.currentTimeMillis();
System.out.println("所用的时间:"+ (start-end));//20105没有优化的 —— 优化一:break:2585 —— 优化二:1014
//17110没有优化的 —— 优化一:break:1546 —— 优化二:13
}