循环结构(while、do while、for、break、continue)

1、什么是循环结构:循环结构是指在程序中需要反复执行某个功能而设置的一种程序结构。
2、为什么要使用循环结构:有些问题需要进行多次重复,为了简化编程结构,就要引入根据条件决定是否重复执行一条或多条命令的控制结构,叫循环结构。循环结构最大优点是简化编程的工作量。引入循环结构又非常适合计算机处理。因为计算机的运算非常快,执行千万次的运算只是一瞬间的事情,更重要的是还能保证每次结果都正确。

一、while循环结构

while是一种条件判断的循环循环结构,直到判断条件为false才终止循环。

语法结构1:
while(循环条件){
	循环体
}

语法结构2:
do{ 
	循环体
}while(循环条件)

语法结构1:while循环

public static void main(String[] args) {
        int a = 6;
        while(a<10){
            System.out.println("a="+a);
            a++;
        }
    }

输出结果

a=6
a=7
a=8
a=9

语法结构2:do while循环

public static void main(String[] args) {
        int a = 6;
        do{
            System.out.println("a="+a);
            a++;
        }while(a<10);
    }

输出结果

a=6
a=7
a=8
a=9

do while循环与while循环的区别:
do while循环循环体至少执行一次而while循环根据条件判断循环体可能不执行。
eg:

语法结构1:while循环

public static void main(String[] args) {
        int a = 10;
        while(a<10){
            System.out.println("a="+a);
            a++;
        }
        System.out.println("最终值a="+a);
    }

输出结果

最终值a=10

语法结构2:do while循环

public static void main(String[] args) {
        int a = 10;
        do{
            System.out.println("a="+a);
            a++;
        }while(a<10);
        System.out.println("最总值a="+a);
    }

输出结果

a=10
最总值a=11

二、for循环结构

为什么使用for循环:尽管所有的循环都可以使用while来实现,单有些循环结构使用for循环可以是结构更加清晰、实现起来也更加简单。

for循环语法结构:

for(单次表达式;条件表达式;末尾循环体){
	中间循环体;
}

求1到10的整数之和:

public static void main(String[] args) {
        int a = 0;
        for(int i=1;i<=10;i++){
            a=a+i;
            System.out.println("a="+a+";i="+i);
        }
        System.out.println("a="+a);
    }

输出结果:

a=1;i=1
a=3;i=2
a=6;i=3
a=10;i=4
a=15;i=5
a=21;i=6
a=28;i=7
a=36;i=8
a=45;i=9
a=55;i=10
a=55

for循环结构的嵌套使用

1、内外循环相互独立

public static void main(String[] args) {
        
        for(int i=1;i<=10;i++){
            for(int j=1;j<=10;j++){
                System.out.print("*"); 
            }
            System.out.println("");
        }
    }

输出结果:

**********
**********
**********
**********
**********
**********
**********
**********
**********
**********

2、内外循环关联使用

public static void main(String[] args) {
        
        for(int i=1;i<=10;i++){
            for(int j=1;j<=i;j++){
                System.out.print("*"); 
            }
            System.out.println("");
        }
    }

输出结果:

*
**
***
****
*****
******
*******
********
*********
**********

3、for循环实现99乘法表

	public static void main(String[] args) {
        for(int i=1;i<=9;i++){
            for(int j=1;j<=i;j++){
                System.out.print(j+"*"+i+"="+i*j+" ");
            }
            System.out.println();
        }
    }

输出结果:

1*1=1 
1*2=2 2*2=4 
1*3=3 2*3=6 3*3=9 
1*4=4 2*4=8 3*4=12 4*4=16 
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81 

三、跳转语句

1、break语句

break语句可以立即终止当前循环的执行,跳出当前所在的循环结构。无论是while循环还是for循环,只要执行break语句,就会直接结束当前正在执行的循环体。
public static void main(String[] args) {
        
        int a = 0;
        for(int i=1;i<=10;i++){
            a=a+i;
            System.out.println("a="+a+";i="+i);
            break;
        }
        System.out.println("a="+a);
    }

输出结果:

a=1;i=1
a=1

循环只执行了1次遇到break直接结束循环。
break也可以设置锚点,直接将循环终止到锚点的位置。
不设置锚点:

public static void main(String[] args) {
        
        for(int i=1;i<=10;i++){
            for(int j=1;j<=i;j++){
                System.out.print("*"); 
                break;
            }
            System.out.println("");
        }
    }

输出结果:

*
*
*
*
*
*
*
*
*
*

设置锚点:

public static void main(String[] args) {
        
        b:for(int i=1;i<=10;i++){
            for(int j=1;j<=i;j++){
                System.out.print("*"); 
                break b;
            }
            System.out.println("");
        }
    }

输出结果:

*

2、continue语句

表示结束本次循环,进行下一次循环,而不终止整个循环的执行

当 i=5 时不参与累加:

public static void main(String[] args) {
        
        int a = 0;
        for(int i=1;i<=10;i++){
            if(i==5){
                continue;
            }
            a=a+i;
            System.out.println("a="+a+";i="+i);
        }
        System.out.println("a="+a);
    }

输出结果:

a=1;i=1
a=3;i=2
a=6;i=3
a=10;i=4
a=16;i=6
a=23;i=7
a=31;i=8
a=40;i=9
a=50;i=10
a=50
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一碗油泼面

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值