欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java基础_循环结构

程序员文章站 2022-03-19 23:43:23
...

循环结构的概念

什么是循环结构?循环就是反复的重复去做一件事。

为什么需要有循环?因为生活中有很多要重复去做的事情,对应的计算机语言中也有相应的机制去描述。

循环的要素

  1. 循环的初始值;比如:sum=0;n=1;
  2. 循环的控制条件;比如:n<=3;
  3. 循环中反复执行的代码;比如:接收输入,求和。
  4. 过渡到下一次循环;比如:n++;

while循环

while循环的语法结构:

int n =1;//循环的初始化
while(控制循环的条件){
执行循环的语句;
n++;//过渡到下一次
}

while循环执行过程:

java基础_循环结构

案例:计算3个人的平均分(while)。

public class Demo {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        double sum = 0 ;
        int n = 1;
        while (n<=3){
            System.out.println("请输入第"+n+"个人的成绩");
            sum += sc.nextDouble();
            n++;
        }
        System.out.println("三个人的平均分是:"+sum/3);
    }
}

结果:

java基础_循环结构

案例:实现100以内的自然数求和(do while)。

public class Demo {
    public static void main(String[] args) {
        int n = 1;
        int sum = 0;
        do {
            sum = sum+n;
            n++;
        }while (n<=100);
        System.out.println(sum);
    }
}

结果:

java基础_循环结构




案例:实现100以内的自然数求和(while)。

public class Demo {
    public static void main(String[] args) {
        int n =1;//初始值
        int sum=0;//初始和
        while (n<=100){
            sum +=n;
            n++;
        }
        System.out.println("100以内和="+sum);
    }
}

结果:

java基础_循环结构

while和do while:

  1. 基本用法差不多,只不过while是先判断后执行,do while是先执行后判断。
  2. do while后面的分号";"一定不要忘记。
  3. do while和while就大多数是结果是完全一样的,只有在极端情况下才有差异,比如:条件一开始就不成立,那么while一次都不会执行;而do whil执行一次,并且输出执行一次后的结果。

for循环

for循环的语法结构

for(int n=1;n<3;n++){
反复循环的语句;
}

for循环的执行过程:

java基础_循环结构

案例:求100以内自然数求和(for)。

public class Demo {
    public static void main(String[] args) {
        int sum = 0;
        for (int i = 1;i<=100;i++){
            sum += i;
        }
        System.out.println(sum);
    }
}

结果:

java基础_循环结构

比较while、do while、for:

  • 其实这三个循环都没有本质上的差异,只是其表现形式不同
  • for循环相对于其他两个的优点是简洁
  • for循环括号里跟的表达式是什么含义:比如;for(int n=1;n<=3;n++),可以理解为:在[1,3]的范围内,步长为1,执行循环语句。
for循环要在已知循环次数的情况下使用,循环次数未知的情况下使用while和do while。
循环辅助语句
break:结束当前的switch语句或者循环结构;

continue:结束当前循环,"继续"下次循环;

在什么时候循环使用辅助语句

break和continue,可以使程序的可读性更强,也就是说,在执行程序时,可以把先不符合条件的先排除,然后再去处理符合条件的情况。(一般都是循环主体)。一般一个循环有两个判断条件的时候,但是,如果执行语句,会复杂很多,那么这个程序的可读性就差。就如下:

For(……){
If(判断条件1){
If(判断条件2){
	执行语句;假设有很多行语句。(循环主体代码)。
}else{
	错误提示2;
}
}else{
		错误提示1;
}
}

换一种思路:实现的结果不会改变,但是可读性就更强了,如下:

For(……){
	If(!判断条件1){
		错误提示1;
		Continue;
}
	If(!判断条件2){
		错误提示2;
		Continue;
}
执行语句。(循环主体语句)
}

break和continue的联系和区别

在循环时只要遇到break和continue,他们后边的代码都不会执行了,只是,break直接结束了循环结构,而continue只是结束了当次循环,下一次循环还会”继续“,直到不满足循环条件时,循环结束。如图:

java基础_循环结构

案例:判断输入的数是不是素数?

public class Demo {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个数:");
        int num = sc.nextInt();
        int num2 = (int)Math.sqrt(num);//加上这句话有什么用?提高代码时效,及运行速度。
        boolean flag = true;//是否为素数的标记。
        for (int i =2;i<=num2;i++){
            if (num>=2){
                if (num%i==0){
                    flag=false;
                    break;
                }
            }
        }
        System.out.printf("%d %s 素数",num,flag?"是":"不是");
    }
}

结果:

java基础_循环结构

相关标签: java