java中的for循环、while循环与do-while循环(详细介绍)

循环是我们在写重复代码时常常会用到的结构。但是当我们在写代码时,就会想,这个方法我应该使用什么样的循环来运行呢?到底是要用for循环、还是while循环、再则是do-while循环来写呢?因此,说说的自己的理解。

使用步骤:

  1. 判断是否需要使用循环, 看问题中是否有重复做的事情
  2. 找循环条件
  3. 找循环要做的事情

1. for循环(最常用的)

语法:
. for(表达式1,表达式2,表达式3){
//循环要做的事 循环体语句4
}

for(int i = 0 , i < 10 , i++){ }

表达式1:初始化循环变量,给循环变量赋值,只执行一次

表达式2:循环条件表达式,boolean类型的结果,如果true,表示继续执行,否则反之(每循环一次执行一次)

表达式3:修改循环变量,如果不改,可能出现死循环(每循环一次执行一次)

例子:

public class Test {
    public static void main(String[] args) {
        int sum=0;
        for (int i = 1; i <= 20; i++) {
            sum+=i;
        }
        System.out.println("从1到20的和为:"+sum);
    }
}

结果为:从1到20的和为:210

细节:

表达式能省略, 两个分号一定不能省略

for循环的表达式细节:

1.表达式1可以省略,可以把表达式1写在for循环的外面,提升循环变量的作用域

2.表达式2可以省略,默认永远为true,出现死循环,需要避免死循环。也可以再循环体中使用break关键字退出循环

3.表达式3也可以省略,循环变量没有改变,可能出现死循环。也可以在循环体写表达式3

4.三个表达式都省略,但是两个分号不能省略

for(;;){//死循环
//在循环体中使用break退出循环
} 

for循环结构图

2.while循环

语法:

while(循环条件){
	//循环体
}

相当于把for循环的表达式1 写在循环之外, 表达式3写循环体的for循环表达式1;

for(;循环条件;){
//循环体
//表达式3
}  

例子:

public class Test {
    public static void main(String[] args) {
        int sum=0;
        int i=0;
        while (i<21){
            sum+=i;
            i++;
        }
        System.out.println("从1到20的和为:"+sum);
    }
}

结果:从1到20的和为:210

while循环体包含: 重复做的事情, 还有修改循环遍历

for\while特征: 先判断,后循环, 可能一次都不执行(当一开始,循环条件为false的时候)

3.do-while循环

使用场景:
当需要先执行一次的时候,使用do-while最好
例如:遍历100以内的偶数,并计算所有偶数的和及偶数的个数

do-while: 特征: 先循环,后判断, 最小循环次数: 1

语法:

do{ 
  }while(条件判断); 

注意: while后面小括号之后有一个分号,不能省略

例子:

public static void main(String[] args) {
        //遍历100以内的偶数,并计算所有偶数的和及偶数的个数
        int num = 1;
        int sum = 0;//记录总和
        int count = 0;//记录个数
        do{
            if(num % 2 == 0){
              //  System.out.println(num);
                sum += num;
                count++;
            }
            num++;
        }while(num <= 100);
        System.out.println("总和为:" + sum);
        System.out.println("个数为:" + count);
    }

结果:总和为:2550
个数为:50

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小温豌豆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值