一、while循环语句
while循环语句的格式如下:
[init_statement] while (test_expression) { statement; [iteration_statement] }
例子:
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 }
二、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 }
与while循环不同的是,do while循环条件后必须有一个分号,这个分号表示循环结束。
三、for循环语句
for循环的基本语法格式:
1 for([init_statement];[test_expression];[iteration_statement]) 2 { 3 statement 4 }
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 }
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 }
输出:
0 1 2 3 4 循环j结束 temp=5 请按任意键继续. . .