【java从入门到精通】day11-While循环-DoWhile循环-For循环

 

1、循环结构

  • while循环

  • do...while循环

  • for循环

  • 在java5中引入了一种主要用于数组的增强型for循环

 

2、while循环

  • while循环是最基本的循环,其结构为:

    while(布尔表达式){
      //循环内容
    }
  • 只要布尔表达式为true,循环就会一直执行下去。

  • 我们大多数情况是会让循环停止下来的,因此需要一个让表达式失效的方式来结束循环。

  • 少部分情况需要循环一直进行,比如服务器的请求响应监听等

  • 循环条件一直为true就会造成无限循环【死循环】,我们正常的业务编程中应尽量避免死循环,会影响程序性能或程序卡死崩溃

  • 用while实现:计算1+2+3+...+100=?

    public class whiledemo03 {
       public static void main(String[] args) {
           //计算1+2+3+...+100=?
           int i = 0;
           int sum = 0;

           while (i<=100) {
               sum = sum + i;
               i++;
          }
           System.out.println(sum);
      }
    }

3、do...while循环

  • do...while循环和while循环相似,不同的是,do...while循环至少会执行一次

do{
   //代码语句
}while(布尔表达式);
  • while和do-while的主要区别

    • while先判断后执行,dowhile时候先执行后判断

    • Do...while总是保证循环体会被至少执行一次!

  • 用do-while实现:计算1+2+3+...+100=?

public class dowhiledemo01 {
   public static void main(String[] args) {
       int i = 0;
       int sum =0;

       do {
           sum = sum +i;
           i++;
      }while (i<=100);
       System.out.println(sum);
  }
}

3、For循环

  • for循环语句是支持迭代的一种通用结构,是最有效、最灵活的循环结构。

  • for循环执行的次数是在执行前就确定的。语法格式如下:

    for(初始化;布尔表达式;更新){
       //代码语句
    }
  • 示例语句:

    public class fordemo01 {
       public static void main(String[] args) {
           int a = 1;//初始化条件

           while (a<=100) {//条件判断
               System.out.println(a);//循环体
               a += 2;//迭代,相当于a=a+2
          }

               System.out.println("while循环结束");

               //初始化//条件判断//迭代
               for (int i = 1;i<=100;i++){
                   System.out.println(i);
              }
               System.out.println("for循环结束");

               

      }
    }
  • 练习1:计算0到100之间的奇数和偶数的和

    public class fordemo02 {
       public static void main(String[] args) {
           //练习1:计算0到100之间的奇数和偶数的和
           
           int oddsum = 0;
           int evensum = 0;

           for (int i = 0; i <= 100; i++) {
               if (i%2!=0){//奇数
                   oddsum+=i;
              }else {//偶数
                   evensum+=i;
              }
          }
           System.out.println("奇数的和:"+oddsum);
           System.out.println("偶数的和:"+evensum);
      }
    }

     

  • 练习2:用while或for循环输出1-1000之间能被5整除的数,并且每行输出3个

public class fordemo03 {
   public static void main(String[] args) {
       //练习2:用while或for循环输出1-1000之间能被5整除的数,并且每行输出3个
       for (int i = 0; i <= 1000; i++) {
           if(i%5==0){
               System.out.print(i+"\t");
          }
           if (i%(5*3)==0){//每行
               System.out.println("\n");
          }
           //println 输出完会换行
           //print 输出完不会换行
      }
       
  }
}

 

  • 练习3:打印九九乘法表(嵌套for循环)

import sun.security.rsa.RSAUtil;

public class fordemo04 {
   public static void main(String[] args) {
       //练习3:打印九九乘法表
       //1、我们先打印第一列
       //2、我们把固定的1再用1个循环包起来
       //3、去掉重复项,i<=j
       //4、调整样式

       for (int j = 1; j <= 9; j++) {

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

 

posted @ 2020-11-20 13:52  啊健best  阅读(62)  评论(2)    收藏  举报