章节
问答
课签
笔记
评论
占位
占位

Java循环语句之 for

Java 的循环结构中除了 while 和 do...while 外,还有 for 循环,三种循环可以相互替换。

语法: 

执行过程:

<1>、 执行循环变量初始化部分,设置循环的初始状态,此部分在整个循环中只执行一次

<2>、 进行循环条件的判断,如果条件为 true ,则执行循环体内代码;如果为 false ,则直接退出循环

<3>、 执行循环变量变化部分,改变循环变量的值,以便进行下一次条件判断

<4>、 依次重新执行< 2 >、< 3 >、< 4 >,直到退出循环

特点:相比 while 和 do...while 语句结构更加简洁易读

例如,输出 1000 遍“我爱慕课网”,使用 for 的实现代码为:

需要留心的几个小细节:

1、 for 关键字后面括号中的三个表达式必须用 “;” 隔开,三个表达式都可以省略,但 “;” 不能省略。

    a. 省略“循环变量初始化”,可以在 for 语句之前由赋值语句进行变量初始化操作,如:

    b. 省略“循环条件”,可能会造成循环将一直执行下去,也就是我们常说的“死循环”现象,如:

在编程过程中要避免“死循环”的出现,因此,对于上面的代码可以在循环体中使用 break 强制跳出循环(关于 break 的用法会在后面介绍)。

    c. 省略“循环变量变化”,可以在循环体中进行循环变量的变化,如:

2、 for 循环变量初始化和循环变量变化部分,可以是使用 “,” 同时初始化或改变多个循环变量的值,如:

代码中,初始化变量部分同时对两个变量 i 和 j 赋初值,循环变量变化部分也同时对两个变量进行变化,运行结果:

3、 循环条件部分可以使用逻辑运算符组合的表达式,表示复杂判断条件,但一定注意运算的优先级,如:

代码中,必须同时满足变量 i 小于 10 ,并且 i 不等于 5 时才会进行循环,输出变量 i 的值。

任务

小伙伴们, for 循环的使用你掌握了吗?让我们来检验一下吧。

实现功能:计算 1 到 100 之间不能被 3 整除的数之和

实现思路:定义一个变量 sum 用来保存数据和,定义一个变量 i 代表 1--100 之间的数据,值从 1 开始。通过 for 循环判断 i 是否是 3 的倍数,符合要求的数据保存在 sum 中。

请在编辑器中的第 6 行,将 for 语句补充完整。

运行结果为: 1到100之间不能被3整除的数之和为:3367

?不会了怎么办

1、 注意 for 循环的语法结构中各部分的作用

2、参考代码:

||
1
public class
    HelloWorld
    {
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
提交
重置代码
||

请验证,完成请求

由于请求次数过多,请先验证,完成再次请求

加群二维码

打开微信扫码自动绑定

您还未绑定服务号

绑定后可得到

  • · 粉丝专属优惠福利
  • · 大咖直播交流干货
  • · 课程更新,问题答复提醒
  • · 账号支付安全提醒

收藏课程后,能更快找到我哦~

使用 Ctrl+D 可将课程添加到书签

邀请您关注公众号
关注后,及时获悉本课程动态

举报

0/150
提交
取消
全部 精华 我要发布

最新回答 / weixin_慕容2563018
你的sum写在for的括号里的话,当for下面的代码块结束以后,sum就会被清除,System.out.println("1到100之间不能被3整除的数之和为:"+sum)中就找不到sum了。如果不知道是为什么的话,可以去看看作用域

最新回答 / return99
i++就是先计算后自增,++i就是先自增后计算

最赞回答 / tjuzx
for循环中循环条件部分可以使用逻辑运算符组合的表达式,注意是逻辑运算符(&&,||  ,!^等),+,-都是算术运算符。

最新回答 / weixin_慕丝1154391
你可以自己验证一下,大概步骤是:把参考代码中      sum=sum+i        改成      System.out.println(i+"是1--100之间不能被3整除的数");参考代码最后一行的     System......这行代码删掉就行然后运行,给出的结果就是1--100之间所有不能被3整除的数了,这其中是包含1和100的,你可以加起来试一试,结果就是3367。

最赞回答 / 慕虎3432248
定义整形变量i初始值为1,当i<10并且i不等于5时进入循环,每循环一次i自增1

最新回答 / 致命的执着X
当i=5的时候,(i<10)&&(i !=5),这个条件的后半部分为false,所以整体为false,跳出循环,所以运行结果是1234,要想结果为12346789,去掉”&&(i!=5)"这部分就好&&(i !=5)&&(i !=5)&&(i !=5)&&(i !=5)搜索复制

最新回答 / 慕运维4136125
== 为等于  = 为赋值

最新回答 / 学死自己卷死别人
用手机能看得见 下个app

最新回答 / 慕九州8215782
带引号的+是要出现在输出结果里面的,不带引号的+只起连接作用

最赞回答 / renxing111
https://zhidao.baidu.com/question/202296731.html

最赞回答 / JJWu
第5行 ) 与 { 之间咋有一个 ;

最新回答 / Sill_lyb
1%2=1;你上面的i%2==0永远不成立,不会使用if后面的循环语句的

最赞回答 / 慕数据6397368
我想明白了,for先执行一次初始值部分

最赞回答 / qq_慕移动6310289
我认为这要分两个步骤分析:比较运算符“!=” 是在(i = 5;i != 5)时输出结果false。for循环中最后一步执行i++,i++是先赋值在+1在执行第四个循环的时候i的值为5,第五个循环开始时进入比较运算符的判断即(i = 5;i ! = 5)此时输出结果为false。逻辑运算符中“&&”有”短路“现象,即如果左边运算结果为false时,则系统就认为已经没有必要执行右侧了。此代码中当比较运算符“!=”判断结果为false时即(i = 5;i != 5)时满足此条件,则停止运行,所...
全部 我要发布
最热 最新
只看我的

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

账号登录 验证码登录

遇到问题
忘记密码

代码语言