Java中循环的几种形式
while循环
while是最基本的循环,它的结构为:
public class Test {
public static void main(String args[]) {
int x = 10;
while (x < 20) {
System.out.print(“x :” + x);
x++;
System.out.print("\n");
}
}
}
输出结果:
- x : 10
- x : 11
- …
- x : 19
do…while循环
对于while语句而言,如果不满足条件,则不能进入循环。但有时候我们需要即使不满足条件,也至少执行一次。
do…while循环和while循环相同,不同的是, do…while循环至少会执行一次。
public class Test {
public static void main(Staing args[]) {
int x = 10;
do {
System.out.print(" x :" + x);
x++;
System.out.print("\n");
} while (x < 20);
}
}
输出结果:
- x : 10
- …
- x : 19
For循环
首先来说一下for循环的规则:
- for循环的三个部分任意部分都可以省略,最简单的for循环就是这样的 for( ;;){ }
- 中间的条件表达式必须返回一个布尔值,用来作为是否进行循环的判断依据
- 初始化语句可以由初始化多个变量,多个变量之间可以用逗号隔开,这些在for循环中声明的变量作用范围就只在for循环内部
- 最后的迭代语句可以是 i++,j++ 这样的表达式,也可以是毫无干系的 System.out.println(“我爱你中国”) 之类的语句,它照样在循环体执行完毕之后被执行。
for循环语句格式:for(初始化语句;判断条件语句;控制条件语句) { 循环体语句;}
执行流程如下图所示:
比如说我们要输出HelloWorld五次常规方法代码如下:
public class ForDemo {
public static void main(String[] args) {
System.out.println(“HelloWorld”);
System.out.println(“HelloWorld”);
System.out.println(“HelloWorld”);
System.out.println(“HelloWorld”);
System.out.println(“HelloWorld”);
//用循环改进
for(int x=1; x<=5 ;x++) {
System.out.println("HelloWorld");
}
}
}
For-each循环
for-each循环又叫增强型for循环,它用来遍历数组和集合中的元素
public class test {
public static void main(String args[]) {
int[] numbers = { 10, 20, 30, 40, 50 };
for (int x : numbers) {
System.out.print(x);
}
输出结果:10,20,30,40,50
System.out.print("\n");
String[] names = { “James”, “Larry”, “Tom”, “Lacy” };
for (String name : names) {
System.out.print(name);
}
}
}
输出结果:James,Larry,Tom,Lacy
break关键字
break主要用在循环语句或者switch语句中,用来跳出整个语句块。
break跳出最里面的循环,并且继续执行该循环下面的语句。
public static void main(String args[]) {
int [] numbers = {10, 20, 30, 40, 50};
for(int x : numbers ) {
// x 等于 30 时跳出循环
if( x == 30 ) {
break;
}
System.out.print( x );
System.out.print("\n");
}
}
}
输出结果:
- 10
- 20
continue 关键字
continue 适用于任何循环控制结构中。作用是让程序立刻跳到下一次循环的迭代。
在for循环中,continue语句使程序立即跳转到更新语句。
在while或者do…while循环中,程序立即跳转到布尔表达式的判断语句。
public class Test {
public static void main(String args[]) {
int [] numbers = {10, 20, 30, 40, 50};
for(int x : numbers ) {
if( x == 30 ) {
continue;
}
System.out.print( x );
System.out.print("\n");
}
}
}
输出结果:
- 10
- 20
- 40
- 50
break和continue二者的区别: break关键字用来终止循环或switch语句,continue关键字用来终止循环的当前迭代。当存在多层循环时,不带标签的break和continue只能终止离它所在的最内层循环,如果需要终止它所在的较外层的循环则必须用,标签标注外层的循环,并使用break和continue带标签的形式予以明确标示。