Java语言入门教程
[09-12 12:22:20] 来源:http://www.88dzw.com 电路基础 阅读:8745次
文章摘要:看过以上代码的多数人会立刻注意到有两行代码被一遍遍重复了。在我们这个特例中,重复现象还不是很严重。但可以想像如果需要绘制包含上千个行和列的网格时,用这种方法编程将会是多么劳累。解决此问题的办法就是循环,如下所示:import java.awt.Graphics;public class FirstApplet extends java.applet.Applet{ public void paint(Graphics g) { int y; y = 10; while (y <= 210) {
Java语言入门教程,标签:电子电路基础,模拟电路基础,http://www.88dzw.com看过以上代码的多数人会立刻注意到有两行代码被一遍遍重复了。在我们这个特例中,重复现象还不是很严重。但可以想像如果需要绘制包含上千个行和列的网格时,用这种方法编程将会是多么劳累。解决此问题的办法就是循环,如下所示:
import java.awt.Graphics;
public class FirstApplet extends java.applet.Applet
{
public void paint(Graphics g)
{
int y;
y = 10;
while (y <= 210)
{
g.drawLine(10, y, 210, y);
y = y + 25;
}
}
}
运行程序时您会看到它会绘制九条200像素长的水平线。
while语句是Java中的一种循环语句。该语句告诉Java按照如下方式工作:执行到while语句时,Java查看括号中的表达式后判断:“y是否小于等于210?”
- 如果答案是肯定的,Java将进入用花括号({})包围的代码块。循环发生在代码块的结尾处。当Java执行到结尾的花括号时就返回到前面的while语句处回答同样的问题。这种循环过程可能要进行许多次。
- 如果答案是否定的,Java将跳过用花括号包围的代码块继续执行。
因此您可以看到,程序开始运行时y的初值是10。10小于210,所以Java进入花括号代码块,绘制从(10,10)到(210, 10)的直线,将y设为35,然后回溯到while语句。35小于210,所以Java进入花括号代码块,绘制从(10,35)到(210, 35)的直线,将y设为60,然后回溯到while语句。此过程一直重复直到y终于超过了210,然后程序结束。
在程序中加入第二个循环即可完成网格的绘制,如下所示:
import java.awt.Graphics;
public class FirstApplet extends java.applet.Applet
{
public void paint(Graphics 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;
}
}
}
可见一个while语句包含三部分:
- 一个初始化步骤,将y设为10。
- 一个求值步骤,在while语句的括号中。
- while语句的某处会有一个增量步骤,递增y的值。
Java支持另一种比while语句更为紧凑的方式完成同样的工作。这就是for语句。如果您有如下的while语句:
y = 10;
while (y <= 210)
{
g.drawLine(10, y, 210, y);
y = y + 25;
}
那么等价的for语句看起来就是这样子:
for (y = 10; y <= 210; y = y + 25)
{
g.drawLine(10, y, 210, y);
}
可见for语句的全部工作是将初始化、求值和增量步骤精简到一个短行之中。它只是缩短了您编写代码的长度,仅此而已。
关于循环顺便提出下面两点值得注意的地方:
- 许多情况下将y初始化为210然后在循环中每次递减25同样是很容易的。求值部分的问题将变为:“y是否大于等于10?”您可以选择两种方法中的任何一种。多数人觉得用加法比用减法更舒服一些。但您可能有不同的感觉。
- 增量步骤十分重要。假如您无意间漏写了循环中“y=y+25;”这行,于是y的值将不会改变——它总是等于10。因此它永远不会超过210,循环也就会无限地进行下去(直到你关闭计算机或程序窗口时才停止)。这种情况称为无限循环,是一种常见的编程错误。
作为循环的练习,试编写代码绘制下面的图形:
![]() |
上一页 [1] [2] [3] [4] [5] [6] [7]
《Java语言入门教程》相关文章
- › 基于GEF和EMF的JavaEE快速开发工具设计
- › Java Script的工作原理是什么?怎样用它来生成简单的
- › Java语言入门教程
- 在百度中搜索相关文章:Java语言入门教程
- 在谷歌中搜索相关文章:Java语言入门教程
- 在soso中搜索相关文章:Java语言入门教程
- 在搜狗中搜索相关文章:Java语言入门教程
编辑推荐
- · 什么是系统仿真
- · 什么是CPCI
- · 英特尔 Parallel Composer入门
- · 什么是支持数据库,什么是中宏数据库
- · 什么是数据交换技术
- · 什么是内部数据传输率
- · 什么是空间数据交换中心
- · 什么是差异备份
- · 什么是备份集
- · 什么是映像备份
- · IGBT模块
- · 什么是24脉波整流变压器
- · 自动变速器不能强制降挡故障原因、诊断与排
- · 什么是MD机
- · 中心频率,什么是中心频率
- · 功率单位mw和dbm的换算表
- · 中值滤波模块设计思路
- · 反馈振荡器的原理
- · 气体激光器简介
- · 数制与进位记数法