小白教程—最详细Java循环结构解析

上一篇提到了for循环,这一篇我们来说说while循环、do-while循环和三种循环的区别

目录

while循环

基本语法

实例解析

do-while循环

基本语法

for循环、while循环、do-while循环的区别

for循环和while循环的区别

while循环和do-while循环的区别

break、continue和return


while循环

while循环是最简单的循环形式,多用于循环次数未知的情况。

while循环在每次执行之前,会判断条件是否成立,如果条件成立(true),则执行循环体,如果条件不成立(false),则不执行循环体。


基本语法

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

循环停止的情况:

  1. 条件不成立,结束循环
  2. 当循环体执行到break或者return时,结束循环

实例解析

输出1加到3的和:

int sum = 0;
int i = 1;
while(i <= 3){
    sum = sum + i;
    i++;
}
System.out.println("sum = " + sum);

在循环结构外:

        初始化变量:

                记录和的值:sum = 0

                数值:i = 1

第一次循环:

        判断循环条件:i <= 3 (i = 1,成立)

        执行循环体:sum = sum(sum == 0) + i(i == 1)        (此时sum的值为0+1=1)

                              i++:i = 2

第二次循环:

        判断循环条件:i <= 3 (i = 2,成立)

        执行循环体:sum = sum(sum == 1) + i(i == 2)        (此时sum的值为1+2=3)

                              i++:i = 3

第三次循环:

        判断循环条件:i <= 3 (i = 3,成立)

        执行循环体:sum = sum(sum == 3) + i(i == 3)        (此时sum的值为3+3=6)

                              i++:i = 4 

第四次循环:

        判断循环条件:i <= 3 (i = 4,不成立)

       结束循环

 输出结果:

sum = 6

do-while循环

do-while循环也是while循环的一种,也多用于循环次数未知的情况,并且在条件后面要写上分号。

do-while循环在每次判断条件之前,都会先执行一次循环体,然后去判断条件是否成立,如果条件成立(true),则执行循环体,如果条件不成立(false),则不执行循环体。

基本语法

do{
    代码块;
}while(条件);

while循环和do-while循环使用方式差别不大,详细差别后面会提到。

for循环、while循环、do-while循环的区别

for循环和while循环的区别

使用for循环的情况:

  1. 控制循环的变量后续不再使用
  2. 循环次数已知

使用while循环的情况: 

  1. 控制循环的变量后续还要使用
  2. 循环次数未知

第一点考虑的是内存,在关键字for后面的括号中,初始化了一个局部变量,那么这个局部变量就会在栈内存中存在,当for循环结束后,垃圾回收器(gc)就会释放掉这个局部变量,节省空间;如果在循环结束后,这个控制循环的变量我们还要接着使用,就可以选择while循环。

第二点考虑的是应用场景,在循环条件已知的情况下,推荐使用for循环,当然while循环也是可以使用的;在循环条件未知的情况下,推荐使用while循环。

while循环和do-while循环的区别

while循环是先判断循环条件,如果条件成立,才执行循环体,如果条件不成立,那么循环体一次都不会执行循环

do-while循环是先执行一次循环体,再判断条件是否成立,如果条件成立,那么再执行循环体,如果条件不成立,结束循环

假设while循环和do-while循环的条件都为false,那么while循环的循环体一次都不会执行,而do-while循环会执行一次循环体。

break、continue和return

相同点:三者都可以在循环体中使用

不同点:

break : 结束当前循环

continue : 结束本次循环,并开始下一次的循环

return : 结束当前方法

在嵌套循环中,break和continue只能结束当前所在的那一层循环

  • 11
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

可乐寄居蟹

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

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

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

打赏作者

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

抵扣说明:

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

余额充值