黑马程序员技术交流社区

标题: for 循环的 [打印本页]

作者: 骑着乌龟去旅行    时间: 2014-12-1 20:09
标题: for 循环的
for (int i = 0; i < str.length(); i++)
        {
        for(int start=0, end=str.length()-i;end != str.length()+1;start++,end++)
        {
       
        }
        }

我想问一下,这个end 的数值是怎么变换的,我怎么感觉没变呢,前面减一了,后面有自增 1


作者: 天天小志    时间: 2014-12-1 23:10
for循环的前面是初使化int start=0, end=str.length()-i这是初使化部分,只执行一次啊!
作者: kerner    时间: 2014-12-1 23:58
C语言中的逗号操作符,不是变量声明定义时的逗号分隔符(int a, b;),在这里就是int start=0, end=str.length()-i;在JAVA中也有,但是利用的地方有限,在java中唯一可以用的地方就是在for循环中,start++,end++两条独立的语句都会执行。
作者: 骑着乌龟去旅行    时间: 2014-12-2 18:42
天天小志 发表于 2014-12-1 23:10
for循环的前面是初使化int start=0, end=str.length()-i这是初使化部分,只执行一次啊! ...

可是  i  是不断变化的啊,为什么end=str.length()-i就执行一次了
作者: 骑着乌龟去旅行    时间: 2014-12-2 18:44
kerner 发表于 2014-12-1 23:58
C语言中的逗号操作符,不是变量声明定义时的逗号分隔符(int a, b;),在这里就是int start=0, end=str.leng ...

:L:L我知道int start=0,end=str.length()-i 这俩句都会执行,我想问的是end是怎么变化的,我只是一时没搞明白过来
作者: Mr.Ni    时间: 2014-12-2 20:49
end=str.length()-i在的执行的总次数是外循环的次数
end++ 的执行总次数是外循环次数乘以内循环次数
作者: 天天小志    时间: 2014-12-2 22:34
骑着乌龟去旅行 发表于 2014-12-2 18:42
可是  i  是不断变化的啊,为什么end=str.length()-i就执行一次了

首先for循环的格式是这样的:for(初始化条件;判断条件;控制条件)
                        {
                                循环体;
                        }

                        执行流程:
                                a:先执行初始化条件;
                                b:执行判断条件
                                c:根据判断条件的返回值:
                                        true:执行循环体。
                                        false:就结束循环。
                                d:最后执行控制条件。返回到b继续。
for循环定义的就是初使化表达式,它的作用就是给变量初使化的,所以只执行一次。
作者: chudaming213    时间: 2014-12-6 14:01

end=str.length()-i明明减去的是i你怎么说是一呢???end的变化过程为:end=str.length()-i>>>end=str.length()-i+1>>>end=str.length()-i+2........end=str.length()+1,循环终止!
作者: Rain2692    时间: 2014-12-6 15:35
我要是没猜错的话,这应该是求最长子串的问题。。。
作者: 王小忠    时间: 2014-12-6 15:56
加个断电a~~~debug调试一下你就看到每次循环后的end值了

作者: 斷灬dian    时间: 2014-12-24 11:26
学到了 。
作者: 斷灬dian    时间: 2014-12-25 12:02
来学习,看评论
作者: lgc黑马    时间: 2014-12-25 19:23
顶顶顶顶
作者: c91764000    时间: 2014-12-26 21:06
看看大家的回答!很有收获!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2