3.2 循环结构

一、while循环语句

while循环语句的格式如下: 

[init_statement]
while (test_expression)
{
    statement;
    [iteration_statement]
}
View Code

 例子:

 1 class  WhileTest
 2 {
 3     public static void main(String[] args) 
 4     {
 5         //循环初始条件
 6         int count=0;
 7         while(count<10)
 8         {
 9             System.out.println(count);
10             count++;
11         }
12         System.out.println("循环结束");
13     }
14 }
View Code

 二、do while 语句

do while 循环与while循环的区别在于:while先判断循环条件,如果条件为真则执行循环体,而do while循环则先执行循环体,然后判断循环条件,如果条件为真,则执行下一次循环。否则终止循环。

do while 循环的格式:

 1 class  DowhileTest
 2 {
 3     public static void main(String[] args) 
 4     {
 5         int count=0;
 6         do
 7         {
 8             System.out.println(count);
 9             count++;
10         }
11         while (count<10);
12         System.out.println("循环结束");
13     }
14 }
View Code

 与while循环不同的是,do while循环条件后必须有一个分号,这个分号表示循环结束。

三、for循环语句

for循环的基本语法格式:

1 for([init_statement];[test_expression];[iteration_statement])
2 {
3     statement
4 }
View Code

for循环允许同时有多个初始化语句,循环条件也可以是一个包含逻辑运算符的表达式:

 1 class  ForTest
 2 {
 3     public static void main(String[] args) 
 4     {
 5         for(int b=0,s=0,p=0;b<10&&s<4&&p<5;s++,b++,p++)
 6         {
 7             System.out.println(b);
 8         }
 9         System.out.println("循环结束");
10     }
11 }
View Code

for循环语句圆括号中的两个分号是可以省略的,如果省略了初始化语句、循环条件、迭代语句,这个循环条件默认为true,将产生死循环。

把for循环的初始化语句放在循环条件之前定义还有一个作用:可以扩大初始化语句所定义变量的作用域。在for循环里定义的变量,其作用域仅在循环内有效,for循环结束后这些变量不可访问。

 1 class Fortest1 
 2 {
 3     public static void main(String[] args) 
 4     {
 5         int temp=0;
 6         for(int i=0;i<5&&temp<5;temp++,i++)
 7         {
 8             System.out.println(temp);
 9         }
10         //循环结束后变量i不可访问,temp可以访问
11         //System.out.println(i);
12         //报错:Fortest1.java:11: 错误: 找不到符号
13         System.out.println("循环j结束");
14         System.out.println("temp="+temp);
15     }
16 }
View Code

输出:

0
1
2
3
4
循环j结束
temp=5
请按任意键继续. . .
原文地址:https://www.cnblogs.com/weststar/p/12303099.html