当前位置:编程学习 > JAVA >>

for循环怎么理解、运用!!

我是从JAVA基础开始学起的。
学到FOR循环感觉很纠结,书上的例题我基本能看懂,但是每章的习题有几题就是感觉无从下手啊。
急求大神指点!!! 初学者 自学 急急急 --------------------编程问答-------------------- 不是有经典的杨辉三角么 --------------------编程问答-------------------- 你说的杨辉三角貌似上初中学过,差不多忘干净了 --------------------编程问答-------------------- 你哪里纠结撒? --------------------编程问答-------------------- 别人写的觉得不难,自己写就不会了。 --------------------编程问答-------------------- 都做练习,都敲代码。 --------------------编程问答-------------------- 先写简单的,很简单的循环呀
debug自己跑下,什么都知道了 --------------------编程问答-------------------- 就是不会做啊,才纠结的 --------------------编程问答-------------------- 完全不能理解for循环有什么不能理解的…… --------------------编程问答-------------------- 简单的for循环,无非就是指定一个次数,循环运行一段代码,具体写法不就三句吗i=1;i<=n;i++不懂有什么难的 --------------------编程问答-------------------- 写多了自然就会了,本质,就是 “重复”



import java.math.*;
class ForTest 
{
public static void main(String[] args) 
{
for (int i =0;i<10 ;i++ )
{
for (int j =0;j<10 ;j++ )
{
System.out.print("* ");
}
System.out.println();
}

System.out.println();

for (int i =0;i<10 ;i++ )
{
for (int j =0;j<=i ;j++ )
{
System.out.print("* ");
}
System.out.println();
}

System.out.println();

for (int i =0;i<10 ;i++ )
{
for (int j=i;j<10 ;j++ )
{
System.out.print("* ");
}
System.out.println();
}

System.out.println();

for (int i =0;i<11 ;i++ )
{
for (int j=0;j<11;j++ )
{
if ((i-5)*(i-5)+(j-5)*(j-5) == 5*5)
{
System.out.print("* ");
}
else
{
System.out.print("  ");
}
}
System.out.println();
}

System.out.println();

for (int i =0;i<11;i++ )
{
for (int j=0;j<11;j++ )
{
if (j<i)
{
System.out.print(" ");
}
else
{
System.out.print("* ");
}
}
System.out.println();
}

System.out.println();

for (int i =0;i<32;i++ )
{
for (int j=0;j<32;j++ )
{
if ( (j-5)*(j-5) == i)
{
System.out.print("*  ");
}
else
{
System.out.print("  ");
}
}
System.out.println();
}

for (int i =0;i<32;i++ )
{
for (int j=0;j<32;j++ )
{
if ( j == (i-5)*(i-5))
{
System.out.print("*  ");
}
else
{
System.out.print("  ");
}
}
System.out.println();
}

System.out.println("Hello World!");
}
}

--------------------编程问答-------------------- 多练习练习,实在不行,还是放弃学编程吧。没什么可惜的 --------------------编程问答-------------------- int j=0;  
for (;j<32; )

    //代码部分;
     j++;       
}

既然楼主学到for循环了,想必while循环肯定是可以理解的了

帮助楼主小小的拆分了下for循环,希望有助于楼主的理解!!! --------------------编程问答-------------------- 一般出现for循环的地方,都应该考虑重构 --------------------编程问答-------------------- 多写点代码就会了 --------------------编程问答-------------------- 多敲敲代码,自然就会了。。。。。 --------------------编程问答-------------------- 连for循环都纠结,那还学编程干嘛,改行吧,我真不是打击你,或许改行更好。 --------------------编程问答-------------------- 可理解成用眼睛从左向右看,或从右向左,具体想怎么看,要看你自己写下标 --------------------编程问答-------------------- 这个要是真的理解不了那就放弃吧 --------------------编程问答-------------------- 刚开始接触编程的时候,我会十分郁闷:i = i+1;这是神马玩意啊!

LZ的问题,可能出在逻辑思维上,可以看一些逻辑思维题,锻炼下自己的逻辑思维能力。当然,把所有看到的代码都自己敲一边,一行行的敲,然后理解每一行的意思,不知不觉你就会知道怎么写自己的代码了! --------------------编程问答-------------------- 刚开始接触的时候就是这样的,你不要太郁闷,多看多写多练就好了。 --------------------编程问答-------------------- 建议用debug调试,看JVM怎么一步一步执行的,然后多想,多练~ --------------------编程问答-------------------- 先推敲for的定义。理解一下什么是循环。 --------------------编程问答--------------------
引用 7 楼 u011050375 的回复:
就是不会做啊,才纠结的

我也是菜鸟。看来你都没有入门,for都难,那后面没法学了。你没入门,书没怎么看,例子没写几个就抱怨for不会运用,感觉你压根都没有静下心来去推敲,去理解,想捡个现成的答案。不要老想着把问题丢给别人。for很简单,但也很强大的循环应用,不用听别人讲什么废话去解析for循环的组成,自己找个代码手动测试下,理解。 --------------------编程问答-------------------- 举个例子吧:

桌子上,有20根薯条。桌子上薯条的初始状态就是如此,这是循环前

那么接下来一个一个,吃着薯条。薯条的数量在不断减少,这是一个循环过程,吃完一根,再吃一根

(除了死循环,循环总会结束的)
此处是没有薯条,如此就不再吃薯条了。这是循环后,即使循环结束了

代码如下:
package program;

public class ForDemo
{

/**
 * @param args
 */
public static void main(String[] args)
{
for(int shuTiaoCount = 20; shuTiaoCount >= 0; shuTiaoCount-- )
{
if(shuTiaoCount == 20)
{
System.out.println("循环开始前,薯条数目是:" + shuTiaoCount);
}
if(shuTiaoCount < 20)
{
System.out.format("吃完一根薯条,还剩%s根", shuTiaoCount);
System.out.println();
}
if(shuTiaoCount == 0)
{
System.out.println("循环结束时,薯条数目是:" + shuTiaoCount);
}

}
}

}


怎么说呢,个人观点是:
(1)学东西,有时候容易上手,有时候难以入门,遇到困难慢慢解决

(2)刚学一门东西,理论是很抽象的,实践最好了。对于java来说,看代码和写代码是最好不过的了
刚入门,听一堆别人对理论的理解,有时候会混淆自己的思维,
不如自己一点一点来,如果对理论有疑问,再去询问他人

(3)做习题,遇到问题,如果是多层循环,那就拆开来看
甚至,自己的纸上写下每个循环时,各个变量的值是多少,体会循环过程中,变量时如何更改的

(4)理解别人的代码时,最好弄清楚代码表示的现实过程,就像上面的代码,是表示吃薯条这个循环过程

以上纯粹是个人学习中的一点感想,希望对你有所帮助
--------------------编程问答-------------------- 写多了自然就会了,本质,就是 “重复” --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- for 循环  , 怎么说呢, 很有用啊。  开发2年多了,记住javaSE 知识没几个  , for循环 时时在用。
多做些 算法题,会领悟的 好一些 --------------------编程问答--------------------
引用 24 楼 u010993384 的回复:
举个例子吧:

桌子上,有20根薯条。桌子上薯条的初始状态就是如此,这是循环前

那么接下来一个一个,吃着薯条。薯条的数量在不断减少,这是一个循环过程,吃完一根,再吃一根

(除了死循环,循环总会结束的)
此处是没有薯条,如此就不再吃薯条了。这是循环后,即使循环结束了

代码如下:
package program;

public class ForDemo
{

/**
 * @param args
 */
public static void main(String[] args)
{
for(int shuTiaoCount = 20; shuTiaoCount >= 0; shuTiaoCount-- )
{
if(shuTiaoCount == 20)
{
System.out.println("循环开始前,薯条数目是:" + shuTiaoCount);
}
if(shuTiaoCount < 20)
{
System.out.format("吃完一根薯条,还剩%s根", shuTiaoCount);
System.out.println();
}
if(shuTiaoCount == 0)
{
System.out.println("循环结束时,薯条数目是:" + shuTiaoCount);
}

}
}

}


怎么说呢,个人观点是:
(1)学东西,有时候容易上手,有时候难以入门,遇到困难慢慢解决

(2)刚学一门东西,理论是很抽象的,实践最好了。对于java来说,看代码和写代码是最好不过的了
刚入门,听一堆别人对理论的理解,有时候会混淆自己的思维,
不如自己一点一点来,如果对理论有疑问,再去询问他人

(3)做习题,遇到问题,如果是多层循环,那就拆开来看
甚至,自己的纸上写下每个循环时,各个变量的值是多少,体会循环过程中,变量时如何更改的

(4)理解别人的代码时,最好弄清楚代码表示的现实过程,就像上面的代码,是表示吃薯条这个循环过程

以上纯粹是个人学习中的一点感想,希望对你有所帮助

谢了 --------------------编程问答-------------------- 多练 --------------------编程问答-------------------- for循环有什么纠结的,主要是你解决问题的能力。多练自然就熟了。 --------------------编程问答-------------------- 所谓循环就是遵循一定的规律,轮换进行处理的意思。
例如:我们要前进500米,起始点定在当前点,每一次前进一米,现在要到达500米之后继续等待其他指令。
for(起始点条件;迭代终止条件;当前点的变化规律){
   //每到一个迭代点的时候要做的操作
} --------------------编程问答-------------------- 高手如云呀! --------------------编程问答-------------------- 刚开始结束会有点纠结,不多敲多了之后就可以理解了
--------------------编程问答-------------------- 学到FOR循环感觉很纠结 那就多停留一会儿,先背背一两题for循环的经典运用,接下去照猫画老虎咯 --------------------编程问答-------------------- java的for比别的语言都好理解,这是比较简单的了 --------------------编程问答-------------------- 俺也刚学JAVA,慢慢来摆 --------------------编程问答-------------------- for循环还是不难理解的,如(A;B;C)其中的A是初始条件,B是判定循环是否继续执行的,C是使循环趋于结束的,这三条都可以省略,但是在其他地方一定要有能实现相同功能的语句。 --------------------编程问答-------------------- for循环,我觉得你在敲代码的时候不如先在纸上画画第一步先做什么,一步一步来。应该会更好理解。纸上写完了你的思路应该就有了。再来敲代码应该会更简单。我也是刚刚学的for循环。。。 --------------------编程问答-------------------- for循环么..  简单来说就是对一组类型相同的数据进行操作.比如数组,list。 至于像楼主说的不知道怎么写,那就得看你怎么想了。如果实在不会写.最好还是想楼上说的现在纸上画一画............


不过实话实话如果楼主连这个都理解有点困难的话,建议楼主考虑干其他行业(楼主莫怪,身边这样例子挺多). --------------------编程问答-------------------- 多写就好了,循环无非就是重复做一些事情而已 --------------------编程问答-------------------- 楼主,这个问题可以结贴了,你是14号提出来的,现在26号了,12天的时间你应该会了。 --------------------编程问答-------------------- 楼主加油 --------------------编程问答-------------------- 不管什么语言 for语句都差不多吧。  
多练习吧  别光看啊 --------------------编程问答-------------------- 建议你买几本书回来看,比如李兴华的《JAVA开发实战经典》就很适合初学者,讲的很详细,很贴切,也很容易懂,而且还有视频教程,附带源码。当然,还是得要自己多点练习!多敲代码。祝楼主早日升仙 --------------------编程问答-------------------- 其实循环没有什么,多练习就OK. --------------------编程问答--------------------
引用 4 楼 u011050375 的回复:
别人写的觉得不难,自己写就不会了。

那是应该你的代码量不够, 这是初学者都会有的, 慢慢来; 
建议: 那些你能看懂的代码, 先理解代码的意思, 流程, 然后根据自己的理解在给它敲一遍, 久了自然就会了, 这没什么好纠结的。   在代码量不够的前提下先不要去学编那些看似很难的算法, 容易让人泄气。 加油!
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,