下面呢我们一起看看循环语句,循环语句呢是反复执行某些动作。
那么这样的话,我们就是在特定情况下反复执行特定代码,这就是循环语句的功能。
那要执行一个循环呢,一般的说有五个要素,所以我们不论写什么循环呢, 都可以观察一下它五个要素,一个是初始化,
就是最开始做什么事情,然后呢循环的条件, 就是相当于在什么条件下做什么事情。
再有个呢循环体,每一次循环要完成什么任务,这是循环体。
还有一个部分叫迭代部分,或者说呢每一个循环
的循环的改变,它每一次要做什么改变,这个叫迭代部分。
然后还有一个结束后处理,当然大部分循环就是当我们这个循环
结束以后呢跟它直接相关的,就是结束后呢可能要做点处理。
当然也可以说呢,初始化、条件、循环体或者叫循环动作
以及循环的迭代或者叫循环改变,这几个要素呢,
这四个要素也可以,当然我们把这个结束后处理加上也可以,因为既然有初始化,
那我们就有一个结束后处理,也算到这里头。那具体来写呢,循环语句有三种写法,
一个是for循环,一个是while循环,一个是do/while循环,这三种循环呢,
它的写法跟C语言的是一样的。那么for循环呢表示呢,
它在一个比较规范的情况下,从多少到多少然后这样一个
一直变化,这样一个循环。while循环就是判断一个条件, 然后在这个条件成立的情况下,我们就循环
一直循环,直到这个条件不满足,有while一个条件。
那do/while循环呢,跟while循环类似,不过它是先执行循环然后再判断。
所以先do然后再判断,所以这个循环呢至少执行一次。
我们下面看看这个for循环的基本样子,那for循环呢,
这里有个例子就是它要把这个循环的初始化比如说i等于1, 循环的条件i小于等于100,i++循环的
改变或者叫循环迭代,那这三个要素写的 一个for这个圆括号里头,这样的话这个循环
还是比较适合那种比较规则的,比如说i从1到100,每次i++,
所以这样写,然后循环的任务,就比如说每次+等于 i,就把这个初始化result是0的话,
这个就把从1一直加一直加到100为止,所以求和呢 是1到100,所以这种循环呢比较
适合于那种比较规则的,从多少到多少这样的循环。
while循环,我们看一下,while循环它是先 有个while条件,然后执行这个循环体,
那么这个初始化呢写到while的前头,比如说result是0,i从1开始,
然后循环的任务呢是+,循环的迭代是i++,每次这个i发生改变,
然后循环的结束后处理呢就是这样。那么这种循环 一定要注意呢不要写成死循环,也就是说这个i++
类似的循环迭代一定不要忘了。
还有一种是do/while循环,do/while循环呢,
它是do然后做一些事情,循环体或循环的迭代了 写到这里头,然后是while条件,
这个while条件写到后头,所以它至少要执行一次,不管这个, 因为它要是先执行了,再判断这个条件,
这是do/while循环。while和do/while更适合于各种情况,那么fo- r循环呢
更适合于比较规则的循环。我们下面看一个例子呢,就是circle99frame.j- ava,
这个例子呢里面就是画了很多圆,那我们画一个圆当然用一个语句,如果是要画很多圆呢?
那我们就要用循环来画。
好,请看这个例子,这个例子呢又用了点图形化界面。
那我们初学的同学可能对图形化界面觉得很啰嗦。
这个没关系,我们开始呢就
模仿着写,模仿着写,因为这些程序理解还是容易的,当然我们自己写比较麻烦,
我们开始就模仿,我们这些例子就是让大家模仿。所以我们看看这个例子里头,
同样的我们为了有个窗口,我们要extends JFrame,就是iii的frame
这个main函数里面呢就new了这样一个frame,new这样的一个frame,就-
是因为我们这里的 这个frame它也是一个frame,也是一个框架窗口,然后设定
这个关闭操作呢就是退出,这句话你也照着写就可以了。
设定它的size大小,setVisible呢显示出来,就是main函数呢 就新建了这样一个new了一个窗体呢然后把它显示出来。
那么这个画图我们怎么画呢?它有一个paint函数, 这个paint函数就是当这个窗口要画的时候,
它会怎么画,我们就要写,告诉它怎么画,这个paint里头
有一个Graphics对象,就是专门用来画图的。
Java里面的这些要做的事情都是相对容易理解 的,比如说我们画图,那这个paint就要画图,那就有一个画图对象。
我们可以画一个字符串,drawString,那这个字符串然后在什么位置, 横向位置和纵向位置,另外呢我们可以呢
根据这个大小,这个size的大小,宽度和高度呢,设个
中心位置,这个中心位置就是我们要画很多圆的中心位置,在这里面
我们用了一个循环,就是for循环,for从多少,r从0开始,
然后呢一直到这个就是在这个范围内r+等于10,
然后我们就用了画很多圆,这个圆呢就drawOval, 这个是画圆,当然这个圆呢实际上是椭圆了,
如果我们的,它这个椭圆给四个参数,一个是呢
x就是左上角的位置,那左上角的位置我们就是x0减r和y0减r,
然后呢这个圆的宽度和高度,实际上这个椭圆的宽度和高度,我们都是
两个r,两倍r,那这个程序运行起来的效果就是这个样子的,
看,这就是我们的运行效果,它就是有
画了很多同心圆,之所以是同心圆因为我们圆心x0,y0是一样的,
那同时呢这个圆的它的左上角就是这个,宽度和高度就是这样。
另外呢我们可以再把这个程序稍微做点改变, 做点什么改变呢,就是加上随机的颜色,
这个随机的颜色呢,我们就g.setColor这样去画图呢 之后来设定一个颜色,这个颜色呢我们底下有一个函数
就是随机函数,这个随机函数呢我们也用到了 随机数,这个随机数呢是
红绿蓝三个分量都是随机的,那么我们可以
实际上我们这时候可以用256以内的一个随机数,因为取整了以后它就0到255。
这个new一个Color,我们可以看出呢这个函数它返回的是一个
随机的颜色,然后我们再看一下运行效果, 就是有不同的这个,
每一个圈的颜色也就不一样。那这个
程序总的来说它是用循环来画。当然我们如果再稍微做一点改变,比如说
我们把这个换成不是同心圆了,这个圆心的位置呢 又发生一些改变,那我们再看这运行效果,
那它就是偏心的圆,所以我们看总的说来要画很多圆呢
是用循环来实现的。