举例解释java中两种循环(for,while)

程序的三大结构是顺序、循环、选择。

今天来聊一聊循环。java 中最常用2种循环,一种是for循环,一种是while循环

那么为什么要使用循环呢?

举个例子。我们比如要在命令行打印5句爱java如何实现?System.out.println("爱java");

System.out.println("爱java");

System.out.println("爱java");

System.out.println("爱java");

System.out.println("爱java");

System.out.println("爱java");

这样的方法是可以实现的,但是如果数量在多一点呢?继续这样打也可以实现,但是如果这样实现,就太low了。接下来我们来用循环实现。

for循环

for循环的基本结构如下:

for(循环变量初始化;条件判断语句;控制条件语句){

循环体(需要重复执行的代码);

}

  int i=1;
      while(i<=5){
          System.out.println("爱java");
          i++;
}

这样说还是比较抽象,下来我就用for循环实现一下重复打印5句话。

for(int i=0;i<=5;i++){

System.out.println("爱java");

}

简单的两行多代码就轻松实现了,如果要打印100行,只需要改变一下条件判断语句,让它小于等于100即可。

还可以解决一些问题,比如计算1到100的和,以前我们需要从1一直加到100,而现在我们只需要几行代码,其余的计算交给计算机了。 

int sum=0;

for(int i=1;i<=100;i++){

sum+=i;

}

下面这段程序就可以计算100以内偶数和以及奇数和

 int ji=0;

int ou=0;

for(int i=0;i<=5;i++){

if(i%2==0){

ji+=i;

    }else{

ou+=i;

    }

}

一个基本程序实现输出1000以内的水仙花数 

public static void main(String[] args) {
    for(int i=100;i<1000;i++){
       int ge=i%10; //153%10==3
       int shi=i/10%10;//153/10==15%10==5
       int bai=i/100;//153/100==1%10==1
       if(i==ge*ge*ge+shi*shi*shi+bai*bai*bai){
           System.out.print(i+" ");
       }
    }
}

while循环

 while循环的基本结构如下:

while循环的基本格式:
       完整格式:
            初始化条件语句;
            while(判断条件语句) {
                 循环体;
                 条件控制语句;
           }

接下来用while循环实现打印5句爱java

  int i=1;
      while(i<=5){
          System.out.println("爱java");
          i++;
}

通过while循环实现水仙花数

public static void main(String[] args) {
    int i=100;
    while (i<1000){
        int ge=i%10; //153%10==3
        int shi=i/10%10;//153/10==15%10==5
        int bai=i/100;//153/100==1%10==1
        if(i==ge*ge*ge+shi*shi*shi+bai*bai*bai){
            System.out.print(i+" ");
        }
        i++;
    }
}

当循环次数不确定的时候,应该选用while循环解决,当循环次数固定的时候应该选用for循环比较好一些。

 两种死循环的写法

        while(true){...}
        for(;;){...}

死循环可以解决一些问题,但是不要真正写成死循环,一定要有出口。

嵌套for循环

程序实现下面例子:

打印一个四行五列的*图案如图:

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

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

 下一步程序实现

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

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

最典型的案例,命令行打印九九乘法表

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

猜你喜欢

转载自blog.csdn.net/qq_37291761/article/details/82936758