Java中循环结构及实例

循环结构

while

与do/while不同,while循环结构表示先判断是否布朗值是否为true,若为true,则进入循环,否则跳过该循环。

public class WhileDemo01 {
    public static void main(String[] args) {
        //从0加到100.
        int i= 0;
        int sum= 0;
        while (i<100){
            i++;
            sum=sum+i;
        }
        System.out.println(sum);
    }
}

do while

public class WhileDemo02 {
    public static void main(String[] args) {
        //从0加到100,(do,,,while,,,,)
        int i= 0;
        int sum= 0;
        do {i++;
            sum=sum+i;
        }while (i<100);
        System.out.println(sum);
        }
    }

do while则先至少运算一次,再进入循环。


for循环

for循环是最灵活最有效的循环结构,句型为:

for(//赋值;  //布朗值;  //更新);
    //例子:
    for(i=0; i<10; i++;)

应用实例:

public class ForDemo01 {
    //求0~100的奇数和、偶数和。
    public static void main(String[] args) {
        int obbSum =0;  //偶数和
        int senSum =0;  //奇数和

        for (int i = 0; i <= 100; i++) {
            if (i % 2 == 0){            //判断i的余数除以2等于0
                obbSum +=i ;

            }else {
                senSum +=i ;
            }
        }
        System.out.println("偶数和为:"+obbSum);
        System.out.println("奇数和为:"+senSum);
    }
}

for each 循环

for each循环可用于打印数组的元素,但是不能修改其下标i。
例如,则会输出数组的全部元素。

int[]arrays ={1,2,3,4,5};
   for (int array : arrays) {
     System.out.println(array);
  }

来一个稍微复杂一点点的例子。
实例:利用if、while或for,写出乘法口诀表

乘法表如下:

1*1=1	

2*1=2	2*2=4	

3*1=3	3*2=6	3*3=9	

4*1=4	4*2=8	4*3=12	4*4=16	

5*1=5	5*2=10	5*3=15	5*4=20	5*5=25	

6*1=6	6*2=12	6*3=18	6*4=24	6*5=30	6*6=36	

7*1=7	7*2=14	7*3=21	7*4=28	7*5=35	7*6=42	7*7=49	

8*1=8	8*2=16	8*3=24	8*4=32	8*5=40	8*6=48	8*7=56	8*8=64	

9*1=9	9*2=18	9*3=27	9*4=36	9*5=45	9*6=54	9*7=63	9*8=72	9*9=81	

我们可以发现,如果将乘法表的每一行单独看,它是一个循环。它的每一列,也是一个循环。

**只不过,每执行一行,就会进入一个循环。**因此,我们在每一行里,设置一个for循环。

同时,列也是一个循环,直到 i=9 为止。我们将列也设置为for循环。就成了循环嵌套循环的结构。

最后,再进行排版的美化即可

package com.street;

public class ForDemo01 {
    public static void main(String[] args) {

        for (int i =1; i <= 9; i++) {
            for (int j = 1;  i>=j; j++) {
                System.out.print(i+"*"+j+"="+i*j+"\t");
            }
            System.out.println("\n");
        }
    }
}

另一个有意思的例子

//输出一个三角形

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

结果:


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

进程已结束,退出代码0

再补充一点:

continue与break

continue是跳过某次循环,循环还会继续执行。

break则直接跳出循环。

打比喻来说,continue是请假,break是辞职。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值