题目
简答题: 简述一下for; while; do while;的语法和区别,
实际开发中, 这三种循环分别适合哪些情况
解
相同点:
三者都是多重循环结构
基本语法结构都包含初始化循环变量,循环条件,更新循环变量
都可在基本语法结构基础上进行变形
都可配合break,continue使用
都可实现循环的嵌套
不同点:
for循环和while循环:先判断再循环
do while 循环:先循环再判断
实际开发中,
当有特定循环次数时,一般用for循环,因为for循环的语法结构,明确,清晰
当无特定循环次数时,一般用while循环,因为while循环,更容易实现“死循环”
当需要先执行再判断时,采用do while循环
代码
基本语法结构
//int i; //for 循环,可以在外面或里面对循环变量进行定义
for( int i = 0; i < 5; i++){ //for(初始化变量;循环条件;更新循环变量)
System.out.println("for循环执行" + i); //循环体
}
int i = 0; //在外初始化变量
while(i < 5){ //while(循环条件)
System.out.println("while循环执行" + i); //循环体
i++; //更新循环变量
}
int i = 0; //在外初始化变量
do{
System.out.println("do...while循环执行" + i); //循环体
i++; //更新循环变量
}while(i < 5); //while(循环条件)
运行结果
for循环执行--> 0
for循环执行--> 1
for循环执行--> 2
for循环执行--> 3
for循环执行--> 4
while循环执行--> 0
while循环执行--> 1
while循环执行--> 2
while循环执行--> 3
while循环执行--> 4
do...while循环执行--> 0
do...while循环执行--> 1
do...while循环执行--> 2
do...while循环执行--> 3
do...while循环执行--> 4
变形 - 死循环
死循环,即循环条件一直成立,判断语句无法使循环体结束
int j = 0; //定义循环变量
for( ; ; ){ //死循环结构
System.out.println("for循环执行" + j++);
}
j = 0;
while(true){ //死循环结构
System.out.println("while循环执行" + j++);
}
j = 0;
do{ //死循环结构
System.out.println("do...while循环执行" + j++ );
}while(true);
嵌套
常用双层循环打印图形等
for ( i = 0; i < 5; i++) { //外层循环控制行
/*循环体*/
//System.out.println("外--> " + i);
for (int j = 0; j < 5; j++) { //内层循环控制列
/*循环体*/
System.out.print( j + "\t");
}
System.out.println();
}
运行结果
0 1 2 3 4
0 1 2 3 4
0 1 2 3 4
0 1 2 3 4
0 1 2 3 4