循环结构

本文详细介绍了Java中的循环结构,包括while、do-while和for循环的使用,以及它们的对比。此外,还讨论了多重循环、break和continue关键字在循环控制中的作用,以及在程序调试中的应用。

循环结构

​ 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进行修复.

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值