您的位置:首页 > 职场人生

黑马程序员___Java中的循环语句

2014-03-10 17:29 281 查看
                                                                                -------
android培训java培训、期待与您交流! ----------

   while 语句

while 语句是Java 最基本的循环语句。它的通用格式如下:

while(布尔条件) {

// 语句

}

条件可以是任何布尔表达式。只要条件表达式为真,循环体就被执行。当条件为假时,程序控制就传递到循环后面紧跟的语句行。如果只有单个语句需要重复,大括号是不必要的。

下面的while 循环从10开始进行减计数,打印出10行“A”。

// Demonstrate the while loop.

class While {

public static void main(String args[]) {

int n = 10;

while(p> 0) {

System.out.println("A " + n);

p--;

}

}

}

当你运行这个程序,它将“A”10次:

A 10 

A 9 

A 8 

A 7 

A 6 

A 5 

A 4 

A 3 

A 2 

A 1

因为while 语句在循环一开始就计算条件表达式,若开始时条件为假,则循环体一次也不会执行。例如,下面的程序中,对println( ) 的调用从未被执行过:

int a = 10, b = 20;

while(a > b)

System.out.println("This will not be displayed");

 

    do-while 循环

如你刚才所见,如果while 循环一开始条件表达式就是假的,那么循环体就根本不被执行。然而,有时需要在开始时条件表达式即使是假的情况下,while 循环至少也要执行一次。换句话说,有时你需要在一次循环结束后再测试中止表达式,而不是在循环开始时。幸运的是,Java 就提供了这样的循环:do-while 循环。do-while 循环总是执行它的循环体至少一次,因为它的条件表达式在循环的结尾。它的通用格式如下:

do {

// 语句

} while (布尔条件);

do-while 循环总是先执行循环体,然后再计算条件表达式。如果表达式为真,则循环继续。否则,循环结束。对所有的Java 循环都一样,条件必须是一个布尔表达式。下面是一个重写的“t”程序,用来演示do-while 循环。它的输出与先前程序的输出相同。

// Demonstrate the do-while loop.

class DoWhile {

public static void main(String args[]) {

int n = 10;

do {

System.out.println("t " + n);

n--;

} while(n > 0);

}

}

该程序中的循环虽然是正确的,但可以像如下这样编写更为高效:
do {

System.out.println("t " + n);

} while(--n > 0);

在本例中,表达式“-- n > 0 ”将n值的递减与测试n是否为0组合在一个表达式中。它的执行过程是这样的。首先,执行-- n 语句,将变量n递减,然后返回n的新值。这个值再与0比较,如果比0大,则循环继续。否则结束。

 

   for 循环

for 循环的通用格式:

for(赋值;判断 ; 变量) {

// 语句

}

for循环的执行过程如下。第一步,当循环启动时,先执行其初始化部分。通常,这是设置循环控制变量值的一个表达式,作为控制循环的计数器。重要的是你要理解初始化表达式仅被执行一次。下一步,计算条件的值。条件必须是布尔表达式。它通常将循环控制变量与目标值相比较。如果这个表达式为真,则执行循环体;如果为假,则循环终止。再下一步执行循环体的反复部分。这部分通常是增加或减少循环控制变量的一个表达式。接下来重复循环,首先计算条件表达式的值,然后执行循环体,接着执行反复表达式。这个过程不断重复直到控制表达式变为假。
下面是使用for 循环的“ck”程序:

// Demonstrate the for loop.

class Forck {

public static void main(String args[]) {

int n;

for(n=10; n>0; n--)

System.out.println("ck " + n);

}

}

                                                                                                                                                                                                        -------
android培训java培训、期待与您交流! ----------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息