求能尽快绕出循环的方法
我是菜鸟,刚学java,(上的培训班)觉得循环有点绕不通,还有不会用boolean类型判断,现在才学到插入算法,理论部分的知识觉得都懂,就是实际写代码的时候换做java语言不会表达,(有时候题目也不太会分析,这应该是主要的),大家有没有什么好的方法传授一下,谢谢各位!
------解决方案--------------------你可以问你老师哈,不懂的地方,像之前我也不懂,我看了一个视频,慢慢分析,原理最重要,不要去死记,一步一步分析。
------解决方案--------------------实际写代码的时候换做java语言不会表达
这个是基础的问题,多看,多练,基础的东西多记就好了,别把java想得太难,就当是学习一门方言话一样的。
------解决方案--------------------debug 是最好的老师,很多原理Debug都可以教你,我就在debug这学了不少,出现了问题也很容易找到原因,建议多用debug
------解决方案--------------------调试,一步步的看程序是怎么运行的,看多了就会熟悉循环的流程,还有多做一些关于逻辑思维的小题目。后面有些调用的时候跳跃很大的,基础部分的时候赶紧熟悉好,不然后面更晕
------解决方案--------------------不太清楚LZ的意思,
循环无非就是while、do-while、for三种形式,进而分析就是三个要件:
起始条件、循环条件、循环体(非死循环的循环体需要存在状态变化)。
实在理不顺就画流程图,很多人对图的理解能力会比抽象思维能力要强。
------解决方案--------------------多写,你可以用break continue return 试试看
------解决方案--------------------楼主可以首先把流程图画出来,这样就清晰了。就知道什么时候应该用循环什么时候不用。
------解决方案--------------------帮楼主解答一下吧
其实算法最主要的是思想,任何语言都有算法,算法是和具体的编程语言无关的,那么想学算法,伪代码就够了,那么说了那么多就开始说说插入算法吧!
如果楼主看过《算法导论》这本书的话,说的第一个就是插入算法,插入算法的思想你知道么?知道的话就可以想办法把它转化为代码了,前i个数是已经排好序的了,后i+1..n是未排序的数组,现在就要在i之后逐个和i之前的数进行比较,如果较小就把A[j=1]=A[j]也就是一步一步把i之前比A[j]大的数前移,最后在把A[j+1]=x赋值就行了。好,现在思路已经比较清晰了,开始转化为代码吧(我写的是插入排序的一种实现,具体见《算法导论》)
给楼主一个小小的建议,先写伪代码吧,用简短的句子把每个步骤表述出来,然后再写代码,就像我上面说的那样。Good Luck!