java萌新的进化旅程04

几种循环的用法

这篇博客主要涉及for,while,do while循环的用法与区别

一.for

我们先来看一个简单的例题

    public static int plus(int n) {
        int sum = 0;
        for (int i = 1; i <= n; i++) {
            sum = sum + i;
        }
        return sum;
    }

这是一个简单的求前n项和的程序
我们将它拆开来看
for后面的小括号里面写了3个语句,分别用;隔开
第一段语句是给循环控制变量赋初值
第二段语句是判断是否满足循环执行条件,如果满足则执行体,不满足则结束循环,执行for后面的语句
第三段语句是控制控制循环变量递增或递减,然后回到第二段语句继续执行

for循环的流程图
在这里插入图片描述
for循环可以做到的一些简单功能

例如:n的阶乘

public static int jieCheng(int n) {
     int sum = 1;
      for (int i = 1; i <= n; i++) {
          sum = sum * i;
      }
       return sum;
   }

此外for循环也是可以嵌套使用的
例如打印乘法表

    public static void chengFaBiao() {
        int sum = 0;
        for (int i = 1; i <= 9; i++) {
            for (int j = 1; j <= i; j++) {
                sum = i * j;
                System.out.print(i+"*"+j+"="+sum+" ");
            }
            System.out.println();
        }
    }

在这里插入图片描述

二.while循环

与for循环一样,while也是一个与测试的循环,但是while在开始前,并不知道重复执行循环语句序列的次数。while语句按不同条件执行循环语句序列零次或多次。

while语句的流程图
在这里插入图片描述

while循环语句的执行过程如下
先计算表达式
如果满足条件,将进入循环体执行,执行完毕后跳回第一步再次计算表达式
如果不满足条件,则退出while循环体,执行后继语句

这里还是拿求前n项和举例

public static void QiuHe{
	int i = 1,sum = 0;
	while(sum<=100){
		sum += i;
		i++;
		}
		System.out.println(sum);//运行结果为5050
	}

我们再看一个例子

    public static void fun4(int num){
        int sum=0;
        int sumo=0;
        int sumj=0;
        int i=1;
        int j=2;
        int k=1;
        while (i<=num){
            sum +=i;
            i++;
            System.out.println(sum);
        }
        while (j<=num){
            sumo+=j;
            j=j+2;
            System.out.println(sumo);
        }
        while (k<=num){
            sumj+=k;
            k=k+2;
            System.out.println(sumj);
        }
    }

这是一个求前n项和,前n项中所有奇数和、偶数和的程序
需要注意的是奇数(偶数)在累加时应该+2,以及奇数(偶数)从几开始,例如偶数就要从j=2开始

三. do while

do语句按不同条件执行一次或多次循环语句序列。do while循环是while循环的后测试版本,该循环的测试条件在执行完循环体之后执行。 这里是do while与while的区别,当需要先判断再循环的时候用while,而在需要先循环再判断的时候可以用do…while。 因此,do while循环体至少会执行一次,而while循环体可能一次也不执行。

do whlie的流程图
在这里插入图片描述
do while循环语句的执行过程如下
当程序执行到do时,立即进入循环体执行循环语句序列,然后测试条件表达式。如果满足条件表达式,则返回do语句继续循环;否则退出循环,执行while语句的后继语句。

将上面while求前n项和程序改写为用do while求前n项和

public static void QiuHe( ){        //public static void QiuHe{
        int i = 1,sum = 0;          //int i = 1,sum = 0;
        do{                         //while(sum<=100){
            sum += i;               //sum += i;
            i++;                    //i++;
        }                           //}
        while(i<=100);              //System.out.println(sum);
        System.out.println(sum);    //}
    }

将两段代码拿过来直观的对比一下

这篇博客还会有后续的for each循环介绍,另外博主在这里厚颜无耻的求下关注,希望能给从0开始学java的小伙伴一些帮助,如有不足还请指出,谢谢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值