解释下这个for循环。

大壹哥 2011-11-29 09:35:36
for (int m = (x + y - 2) * 2, n = num2; m > 8 && n > 0; m -= 8, n--)
{
base += m;
}

注:你可以任意想象这些x,y的值。
...全文
380 28 打赏 收藏 转发到动态 举报
写回复
用AI写文章
28 条回复
切换为时间正序
请发表友善的回复…
发表回复
s781112 2011-12-02
  • 打赏
  • 举报
回复
就是基本的for循环,只不过给的条件多了一点。
pxl_1012 2011-12-01
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 mu_wangyue 的回复:]

for 循环是以分号隔开,比如
for(int i=a, j=b; i<5; i++)
表示:
1.开始循环时,i赋值为 a, j赋值为 b;
2.判断 i 是否小于5;
3.每执行完一次循环,i 加1。

你写的那个循环和上边这个一样
Java code

for (int m = (x + y - 2) * 2, n = num2; m > 8 && n ……
[/Quote]

+1
baijeay 2011-12-01
  • 打赏
  • 举报
回复
就是FOR的条件麻烦了一点。
Jobernowl 2011-12-01
  • 打赏
  • 举报
回复
这个和普通的for循环没区别啊 楼主你迷糊了吧
冰红茶盖 2011-12-01
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 qybao 的回复:]

引用楼主 java_xiaoyi 的回复:
for (int m = (x + y - 2) * 2, n = num2; m > 8 &amp;&amp; n > 0; m -= 8, n--)
{
base += m;
}

注:你可以任意想象这些x,y的值。


for (int i=0, j=0, i<5 && j<10; i++, j+……
[/Quote]

+1
z2010490051 2011-12-01
  • 打赏
  • 举报
回复
我把你的for循环分解一下,分为四步,第一步:int m = (x + y - 2) * 2, n = num2;第二部:m > 8 && n > 0;第三步(就是循环体):{base += m;}第四步: m -= 8, n--
for循环的第一步每次只执行一次,也就是刚开始的时候做,然后就是第二部判断条件是否为真,为真就执行第三步,接着再执行第四步,做完第四步然后返回来再做第二步第三四步只到条件为假时结束循环;
尘缘udbwcso 2011-12-01
  • 打赏
  • 举报
回复
xierong2011 2011-12-01
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 mengxiangyue 的回复:]

Java code

int m,n;
for (; m > 8 && n > 0; )
{
m = (x + y - 2) * 2, n = num2;
base += m;
m -= 8, n--;
}

楼主按照这个执行应该明白了吧
[/Quote]

+1 就是这个样子!
weiqiyun1986 2011-12-01
  • 打赏
  • 举报
回复
代码不完整,建议楼主将完整代码块贴出来
kingquren520 2011-12-01
  • 打赏
  • 举报
回复
单纯解释这个for循环怎么执行的,按for语法格式来读程序进行循环就行。。。不知道LZ的需求是什么???
qybao 2011-11-30
  • 打赏
  • 举报
回复
[Quote=引用楼主 java_xiaoyi 的回复:]
for (int m = (x + y - 2) * 2, n = num2; m > 8 && n > 0; m -= 8, n--)
{
base += m;
}

注:你可以任意想象这些x,y的值。
[/Quote]

for (int i=0, j=0, i<5 && j<10; i++, j+=2)
LZ能看懂这个for的话,就能理解你自己的for了
for的语法是 for(初始化; 条件判断; 后处理)
初始化可以定义多个变量
条件判断可以针对多个变量进行判断
后处理可以对多个变量进行自增自减
所以
for (int m = (x + y - 2) * 2, n = num2; m > 8 && n > 0; m -= 8, n--)
就是for循环,初始化m=某个计算结果,n=num2,然后条件判断是 m>8并且n>0,然后是后处理是m自减8,n自减1


kaukiyou 2011-11-30
  • 打赏
  • 举报
回复
for (int m = (x + y - 2) * 2, n = num2; m > 8 && n > 0; m -= 8, n--)
{
base += m;
}

仅在循环开始时运行一次
每次判断循环条件
每执行一次循环,运行此语句,并判断条件是否成立,不成立则跳出循环


funfenffun 2011-11-30
  • 打赏
  • 举报
回复
和基本的for循环没什么区别,
基本的:for(int i=0;i<10;i++)
lz的:for (int m = (x + y - 2) * 2, n = num2; m > 8 && n > 0; m -= 8, n--)
无非是循环控制的变量有2个,循环一次后2个循环控制变量都要变化,但是执行顺序还是一样的
何時該釋然 2011-11-30
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 mu_wangyue 的回复:]

for 循环是以分号隔开,比如
for(int i=a, j=b; i<5; i++)
表示:
1.开始循环时,i赋值为 a, j赋值为 b;
2.判断 i 是否小于5;
3.每执行完一次循环,i 加1。

你写的那个循环和上边这个一样
Java code

for (int m = (x + y - 2) * 2, n = num2; m > 8 && n ……
[/Quote]

同意
LucEaspe 2011-11-30
  • 打赏
  • 举报
回复
不知道你不明白什么啊。你给我出了一个难题。
孟祥月 2011-11-30
  • 打赏
  • 举报
回复

int m,n;
for (; m > 8 && n > 0; )
{
m = (x + y - 2) * 2, n = num2;
base += m;
m -= 8, n--;
}

楼主按照这个执行应该明白了吧
yuweng101 2011-11-30
  • 打赏
  • 举报
回复
基本的for循环。。翻下for循环章节就行了。。
weiwolong 2011-11-30
  • 打赏
  • 举报
回复
X,y分别是一个有框矩形的外边长和外宽,m=(x+y-2)*2就是这个矩形的周长了,每次剪去8个单位长度的周长,n代表可以剪的次数。 然后base就是求出这个矩形总共可以剪出来的长度了。
以上纯属YY。
xiaozhuangfeng 2011-11-30
  • 打赏
  • 举报
回复
for循环初始化:m的值为(x + y - 2) * 2,n的值为num2
进行for循环操作
循环一次:m的值咸8,n的值咸1
执行循环的条件:m>8&&n>0
五哥 2011-11-30
  • 打赏
  • 举报
回复
先执行int m = (x + y - 2) * 2, n = num2,
然后判断m > 8 && n > 0是否为true,是的话,执行base += m;
之后执行m -= 8, n--

然后循环,就这样吧,for循环啊
加载更多回复(7)

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧