目录
系列文章目录
前言
主要介绍一下Java的循环结构:for;while;do...while以及Java5中引入的一种增强型for循环。
另外还提到了break和continue两个关键字的用法和实例。
一、while循环
while循环是最基本的循环,
语法格式如下:
while( 布尔表达式 ) {
//循环内容
}
只要布尔表达式的值为true,这个循环就会一直执行。
实例如下:
public class Loop {
public static void main(String[] args) {
int x = 1;
while (x<5){
System.out.println("x = " + x);
x++;
}
}
}
x = 1
x = 2
x = 3
x = 4
二、do…while 循环
do...while循环类似于while循环,但是对于while循环来说,如果不满足条件的话,就不能进入循环,而do...while循环就是就算不满足条件,也至少能执行一次。
do...while 的语法格式如下:
do { //代码语句 }while(布尔表达式);
其实直接看代码也可以尝试理解,布尔表达式的判定是在do语句之后的,是先执行了一次语句之后再进行一个布尔判断,如果判断值为true,则再执行这段语句块,如果判断值为false,则跳出循环。
实例如下:
public class Loop {
public static void main(String[] args) {
int x = 1;
do {
System.out.println("x = " + x);
x++;
}while (x<5);
int y = 10;
do {
System.out.println("y = " + y);
y++;
}while (y<5);
}
}
x = 1
x = 2
x = 3
x = 4
y = 10
三、for循环
for循环是一种循环结构更加简单化的方法,循环执行的次数是在执行前就确定的。
语法格式如下:
for(初始化; 布尔表达式; 更新) {
//代码语句
}
- 首先执行初始化步骤。可以声明一种类型,但可初始化一个或多个循环控制变量,也可以是空语句。
- 然后,进行一个布尔判断,如果判断值为true,执行这段语句块,如果判断值为false,则跳出循环
- 最后,执行一次循环后,更新循环控制变量,再次进行第二步。如此往复。
实例如下:
public class Loop {
public static void main(String[] args) {
for (int b = 1;b < 5; b++){
System.out.println("b = " + b);
}
}
}
运行结果如下:
b = 1
b = 2
b = 3
b = 4
四、Java 增强 for 循环
Java5 引入了一种主要用于数组的增强型 for 循环。
语法格式如下:
for(声明语句 : 表达式) {
//代码句子}
- 声明一个新的局部变量,该变量的类型必须和数组元素的类型匹配。
- 其作用域限定在循环语句块,其值与此时数组元素的值相等。
- 表达式就是要访问的数组名,或者是返回值为数组的方法。
实例如下:
public class Loop {
public static void main(String[] args) {
int [] numbers = {1, 2, 3, 4, 5};
for(int p : numbers ){
System.out.print( p );
System.out.print(",");
}
System.out.print("\n");
String [] names ={"Xiao", "Zeng", "Yu", "Hua"};
for( String name : names ) {
System.out.print( name );
System.out.print(",");
}
}
}
运行结果如下:
1,2,3,4,5,
Xiao,Zeng,Yu,Hua,
五、break 关键字
break 主要用在循环语句或者 switch 语句中,用来跳出整个语句块。
语法就是直接的一个语句:
break;
实例如下:
public class Loop {
public static void main(String[] args) {
int [] numbers = {1, 2, 3, 4, 5};
for(int p : numbers ){
if(p == 3)
break;
System.out.print( p );
System.out.print(",");
}
}
}
运行结果如下:
1,2,
六、continue 关键字
continue 适用于任何循环控制结构中。作用是让程序立刻跳转到下一次循环的迭代。
跟break一样,continue的语法也是直接的一个语句:
continue;
实例如下:
public class Loop {
public static void main(String[] args) {
int [] numbers = {1, 2, 3, 4, 5};
for(int p : numbers ){
if(p == 3)
continue;
System.out.print( p );
System.out.print(",");
}
}
}
运行结果如下:
1,2,4,5,
总结
其实Java中的循环结构跟C++中的循环结构是大差不差的,如果有C++基础的伙伴可以大概看一下就明白了。
有个要注意的就是:
在 for 循环中,continue 语句使程序立即跳转到更新语句。
在 while 或者 do…while 循环中,程序立即跳转到布尔表达式的判断语句。