一、三种循环的语法格式及执行流程
1、for语句
格式:
for(初始化语句;条件判断语句;条件控制语句) {
循环体语句;
}
执行流程:
1:执行初始化语句
2:执行条件判断语句,看其结果是true还是false
如果是false,循环结束
如果是true,继续执行
3:执行循环体语句
4:执行条件控制语句
5:回到2继续
示例:
public class aaa { public static void main(String[] args) { //需求:在控制台输出5次"HelloWorld" for(int i=1; i<=5; i++) { // 判断条件并控制循环次数 System.out.println("HelloWorld"); } } }
2、while语句
基本格式:
while(条件判断语句) {
循环体语句;
}
完整格式:
初始化语句;
while(条件判断语句) {
循环体语句;
条件控制语句;
}
执行流程:
1:执行初始化语句
2:执行条件判断语句,看其结果是true还是false
如果是false,循环结束
如果是true,继续执行
3:执行循环体语句
4:执行条件控制语句
5:回到2继续
示例:
public class aaa { public static void main(String[] args) { //需求:在控制台输出5次"HelloWorld" //while循环实现 int j = 1; while(j<=5) { // 判断条件 System.out.println("HelloWorld"); j++; // 控制循环次数 } } }
3、do…while语句
基本格式:
do {
循环体语句;
}while(条件判断语句);
完整格式:
初始化语句;
do {
循环体语句;
条件控制语句;
}while(条件判断语句);
执行流程:
1:执行初始化语句
2:执行循环体语句
3:执行条件控制语句
4:执行条件判断语句,看其结果是true还是false
如果是false,循环结束
如果是true,继续执行
5:回到2继续
示例:
public class aaa { public static void main(String[] args) { //需求:在控制台输出5次"HelloWorld" //do...while循环实现 int j = 1; do { System.out.println("HelloWorld"); j++; //控制循环次数 }while(j<=5); // 判断条件 } }
二、三种循环语句的区别
1、for循环和while循环,是先判断后执行。do…while循环是先执行后判断
public class aaa { public static void main(String[] args) { //for循环 for(int i = 3; i<3; i++) { // 先判断,条件不满足 System.out.println("我爱Java"); // 后执行,不会执行循环体语句 } System.out.println("--------"); //while循环 int j = 3; while(j<3) { // 先判断,条件不满足 System.out.println("我爱Java"); // 后执行,不会执行循环体语句 j++; } System.out.println("--------"); //do...while循环 int k = 3; do { System.out.println("我爱Java"); //先执行,执行一次循环体语句 k++; }while(k<3); // 后判断,条件不满足,之后将不再执行程序 } }
注意:若条件不满足,for循环和while循环不会输出循环体语句;而do…while循环可以输出依次循环体语句,之后将不会再输出!
2、for循环和while循环的区别
for循环内部定义的变量,在循环之后就会从内存中释放掉,再想使用就找不到了,而while控制循环的变量是定义在循环外部,循环结束后可以继续使用。(也可以将for循环的初始化语句定义在循环外部)
public class DoWhileDemo { public static void main(String[] args) { //for循环 for(int i = 1; i<3; i++) { //循环变量i定义在for语句内部,循环结束就会从内存中释放掉 System.out.println("我爱Java"); } //System.out.println(i); //无法输出i值 System.out.println("--------"); //while循环 int j = 1; //循环变量j定义在while语句外,循环结束后可以继续使用 while(j<3) { System.out.println("我爱Java"); j++; } System.out.println(j); //可以输出j值 } }
3、死循环
三种循环语句死循环格式如下:
public class DoWhileDemo { public static void main(String[] args) { /* //for语句死循环格式 for(;;) { System.out.println("for"); } */ /* //while语句死循环格式 while(true) { System.out.println("while"); } */ //do...while语句死循环格式 do { System.out.println("do...while"); }while(true); } }