Java-循环结构--------(八)

本文详细介绍了Java编程中的循环控制结构,包括while、do-while、for循环的基本语法和执行流程,并展示了流程控制关键字break和continue的用法,特别是在嵌套循环中的应用。同时,通过实例讲解了如何利用标记法在多重循环中精确控制流程。
摘要由CSDN通过智能技术生成

目录

一、循环概念

二、while循环

三、do-while循环

四、for循环

五、流程控制关键字

六、嵌套循环

 七、多重循环中的流程控制关键字的使用--标记法



一、循环概念

                通过某个条件,重复的执行一段逻辑代码

                满足循环的条件,循环继续

                不满足循环的条件,循环结束

二、while循环

 语法:          

while(布尔表达式){

        逻辑代码(循环结构)

}

执行流程:

                先对布尔表达式进行判断,结果为true,则执行逻辑代码

                本次执行完毕后,再进行判断,结果仍旧为true,则再次执行逻辑代码 

                直至布尔表达式的结果为false时,才会退出循环结构,执行后序代码

public class Demo{
    public static void main(String args[]){
        //循环输出1-10
        int i=1;
        while(i<=10){
            System.out.print(i+"\t");
            i++;
        }

    }

}

三、do-while循环

语法:

do{

    逻辑代码(循环操作)

}while(布尔表达式);

执行流程:  

                先执行一次循环操作之后,再进行布尔表达式的判断

                如果结果为true,则再次执行循环操作

                如果结果为false,才会退出循环结构,执行后续代码

public class Demo{
    public static void main(){
        //不管条件如何,先打印一次i,打印至5
        int i=1;
        do{

            System.out.print(i+"\t");
            i++;

        }while(i<=5);


    }
}

四、for循环

语法:

for(初始部分;循环条件(布尔表达式);迭代部分){

    //循环操作(逻辑代码)

}

执行流程: 

                首次执行初始部分(初始部分仅在开始时执行一次);

                对布尔表达式进行判断,结果为true,执行逻辑代码;

                本次执行完毕后,执行迭代部分,再次判断,结果仍为true,则再次执行逻辑代码

                直至布尔表达式的结果为false时,才会退出循环结构,执行后续代码

public class Demo{
    public static void main(String args[]){
        //循环输出1-10
        for(int i=1;i<=10;i++){
            System.out.print(i+"\t");
        }        

    }
}

五、流程控制关键字

break; 终止、跳出swtich、循环结构

public class Demo{
    public static void main(String args[]){
        for(int i=1;i<=10;i++){           
           if(i==5){                
        	   break;
            }    
            System.out.println("当前是第"+i+"次循环");
        }
    }
}

continue;  结束本次,进入下一次循环

public class Demo{
    public static void main(String args[]){
        for(int i=1;i<=10;i++){           
           if(i==5){                
        	   continue;
            }    
            System.out.println("当前是第"+i+"次循环");
        }
    }
}

六、嵌套循环

概念:在一个完整的循环结构中,嵌套另一个完整的循环结构

public class Demo{
    public static void main(String args[]){
        for(int i=1;i<6;i++){           
        	for(int j=1;j<6;j++) {
        		System.out.print(i+"行"+j+"列"+"\t");
        	}
        	System.out.println();
        }
    }
}

 

 七、多重循环中的流程控制关键字的使用--标记法

我们来看两段不同的break代码块的区别 (如下):

 第一段:

public class Demo{
    public static void main(String args[]){
        for(int i=1;i<6;i++){           
        	for(int j=1;j<6;j++) {
        		System.out.print(i+"行"+j+"列"+"\t");
        		if(j==3) {
        			break;
        		}
        	}
        	System.out.println();
        }
    }
}

 当循环中的 j ==3 之后后面的循环就不执行了

在这里,break没有加标记,默认跳出当前循环(内层循环)

在每一行 j==3 时都跳出循环

 

 第二段:(对break进行标记)

public class Demo{
    public static void main(String args[]){
     a:   for(int i=1;i<6;i++){           
        	for(int j=1;j<6;j++) {
        		System.out.print(i+"行"+j+"列"+"\t");
        		if(j==3) {
        			break a;
        		}
        	}
        	System.out.println();
        }
    }
}

这里对  break  进行了  a  标记---(标记的符号在合理的范围内可以随意定义标记符号)

此时,将  break  标记到了外层循环,当代码执行到break是不会再是默认的跳出内层的J循环了,而是跳到被标记的外层i循环,这里是直接使整个循环结束

 

 ------------------------------------------------------------------------------------------------------

 我们来看两段不同的continue代码块的区别 (如下):

 第一段:

public class Demo{
    public static void main(String args[]){
        for(int i=1;i<6;i++){           
        	for(int j=1;j<6;j++) {        		
        		if(j==3) {
        			continue;
        		}
        		System.out.print(i+"行"+j+"列"+"\t");
        	}
        	System.out.println();
        }
    }
}

 这里对break的代码改写,得到continue的代码;

更改了System.out.print(i+"行"+j+"列"+"\t");语句的位置

当执行到continue语句时,是跳过当前循环,

循环内部continue后面的代码就不执行了

所以在j==3时,遇到continue,后面的输出语句跳过不输出,直接执行j==4

得到如下运行结果

 

 第二段:(标记)

public class Demo{
    public static void main(String args[]){
        a:for(int i=1;i<6;i++){           
        	for(int j=1;j<6;j++) {        		
        		if(j==3) {
        			continue a;
        		}
        		System.out.print(i+"行"+j+"列"+"\t");
        	}
        	System.out.println();
        }
    }
}

 这里将continue直接由内层循环标记到外层循环,当j==3时,直接跳过j==3、4、5的循环,进入到下一次的i循环,也还导致了换行代码块的失用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值