参考链接: Java do-while循环
在写循环题目时,首先应该先回答四个问题:
(1)初始状态由哪些变量描述。也就是其初值是什么
(2)循环的控制条件是什么(题目中给出的条件往往是反的)
(3)需要反复做什么
(4)如何过渡到下一次循环
如:求100以内的各位数之和。
for(int i=1;i<=100;i ){
sum =i;
}
但是for循环的优势也很明显:简洁
从上面的对比可以发现,for比较简洁,但再进一步深究的话,其实也没有简化,只是调整了语句的位置。For循环可以从另外一个角度去理解就更顺了:可以把for语句括号中的内容更容易理解作为一个范围:[1,100],且步长为1;
三个循环对比总结:三个循环实际上就是相通的,可以相互转化,他们可以适应不同的应用场景。While和do.....while适合循环次数不确定的情况,而for循环适合次数确定的。
总结循环的套路:
(1)有一个初始状态。题目描述中往往已经提供了,比如上例中初始状态为sum=0,i=1;
(2)有一个循环的控制条件。循环不应是无限循环(死循环),所以应该有继续循环的条件。这个题目中往往也直接提供了,但是注意往往给的是相反条件。上述案例中的条件是i<=10;
(3)有一个反复执行的操作。当然这里所属的操作可能是一条语句,更可能是一段代码。sum =i;
(4)需要过渡到下一次。循环中反复被执行的操作一般每次执行都并不完全相同,而是有变化的,这种变化往往是有规律的,需要程序员去挖掘。
所以,以后写循环程序就回答以下四个问题,程序基本就出来了。
for循环与while循环比较?
循环顺序不一样。
Break与continue的区别?
Break结束全部的循环,下一循环不做。
Continue结束当前循环,继续做下一循环。