Java基础的循环(迭代)
while,do-while和for用来控制循环,有时将他划分为迭代语句().语句会重复执行,知道起到控制作用的布尔表达式得到的结果为止
while循环的格式如下:
while(Boolean - expreesion)
statement
在循环刚开始的时,会计算一次布尔表达式的值,而在语句的下一次迭代开始前会计算一次。
下面简单的例子可产生随机数,知道符合特定条件为止:
public class whiletest{
static boolean condition(){
boolean result = Math.random()<0.99;
System.out.println(result+”.”);
return result;
}
public static void main (String [] args){
while(condition())
System.out.println(“Inside’while’”);
System.out.println(“Exited’while’”);
}
}
condition()方法用到了Math库里的static(静态)方法random(),该方法作用是产生0和1之间(包括0不包括1)的一个double值。result的值是通过比较操作符<而得到它,这个操作符将产生boolea类型的结果。在打印boolean类型的值时,将自动的得到适合的字符串true和false。while的条件表达是意思是说:“只要condition()返回true,就重复执行循环体中的语句“。
do-while
do-while的格式如下:
do
statement
while(Boolean - expreesion);
while和do-while唯一的区别就是do-while中的语句至少会执行一次,即便表达式第一次就被计算为false。而在while循环结构中,如果条件第一次为false,那么其中的语句根本不会执行,在实际应用中,while比do-while更常用一些。
for
for循环可能是经常使用的迭代形式,这种在第一次迭代之前要进行初始化。随后,他会进行条件测试。而且在每一次迭代即诶数时,进行某种形式的“进步“。for循环到额格式如下:
for(initialization ;Boolean – expreesion;step)
statement
初始化(initialization)表达式、布尔表达式(Boolean – expreesion)、或者步进(step)运算,都可以为空。每次迭代钱会测试布尔表达式。若获得的结果是false,就会执行for语句后面的代码行。每次循环结束,会执行一次步进。
public class ListCharacters{
public static void main(String [] args){
for (char c=0; c<128;c++){
if(Character.isLowerCase(c))
System.out.println(“value“+(int)c+”character“+c);
}
}
/*value:97 character:a
value:98 character:b
value:99 character:c
value:100 character:d
…..*/
注意:变量C是在程序用到它的地方定义的,也就是在for循环的控制表达式里,而不是在main()开始的地方定义的。C的作用域就是在for控制的表达式范围内。
这个程序也使用了java。lang。Character’包装类,这个类不但能把char基本类型的值包装进行对象,还提供了一些别的有用的方法。这里用高了static isLowerCase()方法来检查问题中的字符是否为小写字母。 |
|