很多工作都不一定是一锤子买卖,而需要循环反复的执行,Java提供了三种循环结构:for循环、while循环、do-while循环
while循环
while循环是最基本的循环,只要while里面的条件是true,它就会一直执行下去。打印1-10.
public class Demo {
public static void main(String[] args) {
int a = 1;
while (a < 11){
System.out.println(a);//1-10
a++;
}
}
}
在编写循环语句的时候一定要记得需要判断的布尔表达式的值某一刻可以为false,否则会是一个死循环。
do-while循环
当while里面的布尔表达式一开始就为false的时候,循环是得不到执行的。do-while循环和while循环类似,唯一的区别就是do-while的循环至少会执行一次。打印1-10
public class Demo {
public static void main(String[] args) {
int a = 1;
do {
System.out.println(a);//1-10
a++;
}while (a < 11);
}
}
for循环
虽然所有的循环都可以用while或者do-while来表示,但是Java也提供了for循环使一些循环变得简单。for循环的循环次数在执行前就可以确定的。打印1-10
public class Demo {
public static void main(String[] args) {
for (int i = 1; i < 11; i++){
System.out.println(i);//1-10
//i++;也可以写在这里
}
}
}
for循环的执行流程是最先执行初始化语句(int i = 1),可以声明一种类型,初始化一个或多个循环控制变量(i),当然也可以为空;初始化之后就执行布尔表达式(i < 11),返回true就执行循环体的内容,否则循环就终止;之后执行一个循环控制变量更新的操作(i++),再进入布尔表达式(i < 11),循环往复,直到布尔表达式(i < 11)返回false终止循环。
for循环嵌套
打印九九乘法表:
public class Demo {
public static void main(String[] args) {
for (int i = 1; i < 10; i++){
for (int j = 1; j <= i; j++){
System.out.print(i + " * " + j + " = " + i*j + " ");
}
System.out.println();
}
}
}
第一层for循环控制行,第二层for循环控制列。
跳出多重循环:
public class Demo {
public static void main(String[] args) {
outer : for (int i = 0; i < 15; i++){
for (int j = 0; j < 15; j++){
if (i * j == 25){
break outer;
}
}
System.out.println("i = " + i);//0 1 2 3 4
}
}
}
通过break结合循环标签来跳出指定循环。当然也可以用return来跳出循环。
public class Demo {
public static void main(String[] args) {
for (int i = 0; i < 15; i++){
for (int j = 0; j < 15; j++){
if (i * j == 25){
return;
}
}
System.out.println("i = " + i);//0 1 2 3 4
}
}
}
跳出当前循环:
public class Demo {
public static void main(String[] args) {
for (int i = 0; i < 5; i++){
if (i == 3){
continue;
}
System.out.println(i);//0 1 2 4
}
}
}
contiune关键字是跳出当前这一次的循环,程序的执行会回到i++的地方。
增强for循环
在Java 5的时候增加了一种主要用于数组的增强for循环。遍历数组:
public class Demo {
public static void main(String[] args) {
int[] array = {1,2,3,4,5};
for (int element:array) {
System.out.println(element);//1 2 3 4 5
}
}
}