循环
计算机做得很好的一件事是执行重复的计算或操作。在前面的小节中,我们已经看到了如何编写“连续的代码块”,所以接下来我们应该讨论18新利最新登入的是使连续的代码块重复出现的技术。
例如,假设我要求您绘制页面顶部的网格图。
广告
最好从画水平线开始。
画线的一种方法是创建一个连续的代码块:
进口java.awt.Graphics;公共类FirstApplet扩展java.applet.Applet{公共无效绘制(图形g) {int y;Y = 10;g.drawLine(10, y, 210, y);Y = Y + 25;g.drawLine(10, y, 210, y);Y = Y + 25;g.drawLine(10, y, 210, y);Y = Y + 25;g.drawLine(10, y, 210, y); y = y + 25; g.drawLine(10, y, 210, y); y = y + 25; g.drawLine(10, y, 210, y); y = y + 25; g.drawLine(10, y, 210, y); y = y + 25; g.drawLine(10, y, 210, y); y = y + 25; g.drawLine(10, y, 210, y); } }
(对于一些新程序员来说,第一次看到语句“y = y + 25;”看起来很奇怪。它的意思是,“取当前变量中的值y,加上25,并将结果放回变量中y因此,如果在执行前y包含10,那么在执行后它将立即包含35。)
大多数看过这段代码的人会立即注意到,它包含了重复的两行代码。在这种特殊情况下,重复并不是很糟糕,但是可以想象,如果您想创建一个包含数千行和列的网格,这种方法将使程序编写非常累人。这个问题的解决办法是循环,如下图所示18新利最新登入:
进口java.awt.Graphics;公共类FirstApplet扩展java.applet.Applet{公共无效绘制(图形g) {int y;Y = 10;while (y <= 210) {g.drawLine(10, y, 210, y);Y = Y + 25;}}}
当您运行这个程序时,您将看到它绘制了9条200像素长的水平线。
的而statement是Java中的循环语句。该语句告诉Java按照以下方式进行操作而语句时,Java查看括号中的表达式并询问“Isy小于或等于210?”
- 如果答案是肯定的,那么Java就进入用大括号“{”和“}”括起来的代码块。循环部分发生在代码块的末尾。当Java到达结束大括号时,它循环回到而陈述并再次提出问题。这个循环序列可能会发生很多次。
- 如果答案是否定的,它将跳过括号括起来的代码并继续。
你可以看到,当你开始运行这个程序时y是10。10小于210,所以Java用大括号输入块,从(10,10)到(210,10)画一条线,设置y到35,然后回到而声明。35小于210,所以Java用大括号输入块,从(10,35)到(210,35)画一条线,然后集合y到60,然后回到而声明。这个序列重复直到y最终大于210。然后程序退出。
我们可以通过在程序中添加第二个循环来完成我们的网格,像这样:
进口java.awt.Graphics;公共类FirstApplet扩展java.applet.Applet{公共无效绘制(图形g) {int x, y;Y = 10;while (y <= 210) {g.drawLine(10, y, 210, y);Y = Y + 25;} x = 10;while (x <= 210) {g.drawLine(x, 10, x, 210);X = X + 25;}}}
你可以看到a而声明由三部分组成:
- 有一个初始化步骤使y等于10。
- 然后有一个评估步骤在while语句的括号内。
- 然后,在while语句的某处有一个增量步这增加了y的值。
Java支持做同样事情的另一种方式,这种方式比而声明。它被称为为声明。如果你有而语句是这样的:
Y = 10;while (y <= 210) {g.drawLine(10, y, 210, y);Y = Y + 25;}
然后是等价物为语句是这样的:
对于(y = 10;Y <= 210;y = y + 25) {g.drawLine(10, y, 210, y);}
你可以看到所有的为语句所做的是将初始化、求值和递增的行压缩成简短的一行。它只是缩短了你写的程序,仅此而已。
说到这里,有两点关于循环的简单说明:
- 在许多情况下,初始化也很容易y到210,然后在循环中每次递减25。评估会问:“是y大于或等于10?”选择权在你。大多数人都觉得心算加法比减法容易,但你可能不一样。
- 增量步骤非常重要。假设您无意中遗漏了循环中表示“y = y + 25;”的部分。会发生什么呢y永远不会变,永远是10。因此,它永远不会大于210,循环将永远继续(或者直到您通过关闭计算机或关闭窗口来停止它)。这种情况被称为an无限循环。这是一个非常常见的错误。
为了练习使用循环,可以尝试编写程序来绘制以下图形:
有关Java和其他计算机编程18luck手机登录语言的更多信息,请查看下面的链接。