重复或迭代
第三种控制结构使我们可以重复程序的各个部分。 第一种形式是
while (some condition) do something
使用比较运算符编写条件的位置。
例如打印一行*
public class Line
{
public static void main(String argv[])
{
int i=5;
while (i>0)
{
System.out.print('*');
i--;
}
System.out.println();
}
}
循环可以包含所需的任何代码,包括进一步缩进每个嵌套级别的另一个循环,以使结构立即可见。
例如将打印图案的嵌套循环
****
***
**
*
int linecount = 4;
while (linecount>0)
{
int starcount = linecount;
while (starcount>0)
{
System.out.print("*");
starcount--;
}
System.out.println();
linecount--;
}
循环具有几个不同的部分:初始化(行数= 4),条件(行数> 0),循环主体和“管家”(行数-)。
存在一种简写形式:for循环
for(initialisation;condition;housekeeping)
(1)在循环开始之前完成初始化,然后测试条件。
(2)之后,执行循环体,然后完成内务处理,然后再次进行测试。
例如显示*的块
public class Block1
{
public static void main(String argv[])
{
for (int i=5;i>0;i--)
{
for (int j=4;j>0;j--)
System.out.print('*');
System.out.println();
}
}
}
做循环
在循环结束时测试条件:这是一个有用的结构,用于必须始终至少循环一次的循环主体。
例如,因此指定值epsilon:
1.0 + epsilon != 1.0
epsilon的值是最小的数字,当将其添加到值1.0时,它将更改该值,即,将任何较小的值添加到1.0仍为1.0。
通常用于计算epsilon值的算法的伪代码版本为:
epsilon = 1.0
do
epsilon = epsilon / 2.0
while ( 1.0 + epsilon != 1.0 )
epsilon = 2.0 * epsilon
可以使用do循环在Java中实现
public class epsilon
{
public static void main(String s[])
{
float epsilon = 1.0f;
do
epsilon = epsilon / 2.0f;
while ((1.0f + epsilon) != 1.0f);
System.out.println(" float epsilon calculated = " + epsilon * 2.0f);
}
}
From: https://bytes.com/topic/java/insights/641525-repetition-iteration
迭代与循环深入解析
1242

被折叠的 条评论
为什么被折叠?



