循环结构
Java中的循环就是在程序中重复执行一段代码,直到满足一定条件为止.常用的循环控制语句有while循环、do-while循环和for循环三种.
循环主要包括三个部分:
1、初始部分:循环的初始状态;
2、循环条件:判断是否继续循环的条件
3、循环体:重复执行的代码.(包括初始参数的迭代部分)
初始参数、初始条件以及迭代部分可以只有一个,也可以有多个.
while循环
while(条件){
//循环体
}
先对初始参数进行条件判断 ,若条件判断为假,则直接跳过循环执行后面的语句;若条件判断为真,则执行循环体部分,再接着对参数进行判断,若结果还为真,则继续进行循环体部分,若结果为假,就跳出循环.
do-while循环
do{
//循环体
}while(条件);
先执行第一次循环体代码,然后对初始参数进行一次条件判断,若条件判断为假,则跳过循环执行后面的语句;若条件判断为真,则返回到前面去执行do里面的循环体代码,接着再对参数进行条件判断,若判断为真则继续返回上面循环体,若为假则跳出循环.
for循环
for(表达式1;表达式2;表达式3){
//循环体
}
for循环里表达式1是循环的初始参数部分,表达式2是循环的条件判断,表达式3是参数的迭代部分.
执行顺序为:表达式1 — 表达式2 — 循环体 — 表达式3 —表达式2 —表达式3或跳出循环
先设置表达式1的初始参数,然后对初始参数进行表达式2的条件判断,若判断为假,则跳出循环执行后面的代码;若判断为真,则执行循环体部分,然后再执行表达式3的参数迭代,接着对迭代后的参数进行表达式2的条件判断,若判断为假则跳出循环,判断为真, 则继续进行循环体和表达式3部分.
while循环、do-while循环和for循环的对比
| while循环 | do-while循环 | for循环 |
|---|---|---|
| 1、语法不同 | ||
| while(条件){ //循环体 } | do{ //循环体 }while(条件); | for(表达式1;表达式2;表达式3){ //循环体 } |
| 2、执行顺序不同 | ||
| 先判断,后执行 | 先执行,后判断 | 先判断,后执行 |
| 3、初始情况不满足循环条件时 | ||
| 一次都不执行 | 至少执行一次 | 一次都不执行 |
| 4、适用情况(优先使用) | ||
| 循环次数不确定时 | 循环次数不确定时 | 循环次数能确定的情况 |
多重循环
while循环、do-while循环、for循环之间可以互相嵌套,形成二重或多重循环,但实际中用的比较多的是二重循环,三重以上的循环会显得比较复杂.
二重循环
for(int i=1;i<=5;i++){
for(int j=1;j<=5;j++){
System.out.print("*");
}
System.out.println();
}

以上代码块为打印一个5行5列的矩形的代码.以以上代码为例,可以看到二重循环的大致结构.在二重循环中,外层循环是途中变量i所在的那层循环,内层循环是变量j所在的循环.外层循环一次,内层循环会执行一整遍循环.所以二重循环循环的总次数就等于外层循环次数*内层循环次数.
break关键字
break常用于 switch结构和循环结构中,它的作用主要是跳出所在的switch分支或跳出最近的那个循环体.
switch中的break
switch(表达式){
case 常量1:
....
break;
case 常量2:
.....
break;
.....
default:
......
break;
}
在switch中,当表达式满足其中一个case 的时候,在执行完case中的语句后,break会直接跳出这个switch结构,而不去执行break后面的语句.如果不加break,在满足一个case的情况下,这个case后面的所有语句都会默认执行.
循环中的break
for(int i=1;i<=10;i++){
if(i==5){
break;
}
}
以上拿for循环为例,当for循环执行到第5次循环时,满足条件i==5,执行break会直接跳出这个for循环,不去执行剩下5次循环过程.
多重循环中的break
for(条件){
for(条件){
//循环体
if(条件){
//代码块
break;
}
}
//循环体
}
以上二重for循环为例,在内层循环中当执行到break语句时,将跳出整个内层循环,而去执行下一次的外层循环.
循环中的switch中的break
for(条件){
switch(){
case 1:
break;
.....
}
//代码块
}
以上for循环中进行switch条件判断,在switch中用到了break语句,此时break的作用为跳出这个switch分支,而不是跳出整个for循环.
continue关键字
continue只能在循环中使用,作用是跳过当前循环体中剩下的语句,而跳去执行下一次循环判断.与break不同的是,break是跳出整个循环体,continue是跳出这个循环体当前一次循环,而去执行下一次循环的条件判断.
for(条件){
if(条件){
//代码块
continue;
}
//循环体
}
程序调试
在写代码的时候,我们经常会用到程序调试功能,查找代码中存在的bug, 也可以称为Debug
在IDE集成开发环境中,以Ecilpse为例,程序调试的步骤可以分为:
1、设置断点:在需要进行调试的代码行前面进行双击,设置断点.
2、单步运行:通过快捷键F6跳到下行代码,或者F8跳到下个断点.
3、观察变量:观察变量在每一步操作中数值的变化.


通过程序调试,对代码中的语句一步一步的执行,就能够发现代码中具体是哪一步出了问题,也便于后续对Bug进行修复.
本文详细介绍了Java中的循环结构,包括while、do-while和for循环的使用,以及它们的对比。此外,还讨论了多重循环、break和continue关键字在循环控制中的作用,以及在程序调试中的应用。
820

被折叠的 条评论
为什么被折叠?



