流程控制语句(关键字break和continue的使用)、质数(素数)判断

2024-01-10 16:12:28

目录

一、break和continue的说明

二、质数(素数)判断


一、break和continue的说明

此外,很多语言都有goto语句,goto语句可以随意将控制转移到程序中的任意一条语句上,然后执行它,但使程序容易出错。Java中的break和continue是不同于goto的。

特别的:带标签的使用

①break语句出现在多层嵌套的语句块中时,可以通过标签指明要终止的是哪一层语句块

label1: { …… 
label2:     { ……
label3:         { ……
                     break label2;
                     ……
            }
                }
        }

②continue语句出现在多层嵌套的循环语句体中时,也可以通过标签指明要跳过的是哪一层循环

③标号语句必须紧接在循环的头部,标号语句不能用在非循环语句的前面

二、质数(素数)判断

题目:找出100以内的所有的素数(质数)?10000以内呢?

class PrimeNumberTest1 {
    public static void main(String[] args) {
        long start = System.currentTimeMillis(); //记录当前时间距离 1970-1-1 00:00:00 的毫秒数
        int count = 0;//记录质数的个数
        for(int i = 2;i <= 100000;i++){ //i
            boolean isFlag = true; //用于标识 i 是否被除尽过
            for(int j = 2;j <= Math.sqrt(i);j++){ //优化 2:将循环条件中的 i 改为 Math.sqrt(i)
                if(i % j == 0){ //表明 i 有约数
                    isFlag = false;
                    break;//优化 1:主要针对非质数起作用
                }
}
//判断 i 是否是质数
        if(isFlag){ //如果 isFlag 变量没有给修改过值,就意味着 i 没有被j除尽过。则 i 是一个质数
        //System.out.println(i);
        count++;
        }
}
        long end = System.currentTimeMillis();
        System.out.println("质数的个数为:" + count);
        System.out.println("执行此程序花费的毫秒数为:" + (end - start));//1062
    }
}

文章来源:https://blog.csdn.net/Starinfo/article/details/135502268
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。