java流程控制03:循环结构

循环结构

  • while循环

  • do...while循环

  • for循环

  1. while循环

    先判断再执行

    是最基本的循环,它的结构为:

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

    • 大多数情况让循环停止,需要有一个让表达式失效的方式来结束循环。

    • 举例:输出1-100

      public class whileDay1 {
         public static void main(String[] args) {
             //输出1-100
             int i = 0;
             while (i<100){
                 i++;
                 System.out.println(i);
                 
            }
        }
      }

计算1+2+3+...+100=?

public class WhileDay1_1 {
   //计算1+2+3+...+100=?
   public static void main(String[] args) {
       int i = 0;
       int sum = 0;
       while (i<=100){
           sum = i+sum;
           i++;
      }
       System.out.println("1+2+3+...+100="+sum);
  }
}

结果:1+2+3+...+100=5050

 

  1. do...while循环

    • do...while循环至少执行一次,先执行后判断
    • 语句:

      do{
         //代码语句
      }while(布尔表达式);
      • 计算1+2+3+...+100=?

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

              }while (i<=100);
               System.out.println("1+2+3+...+100="+sum);
          }
        }
  • do...while与while的不同

    1. while先判断再执行

    2. do...while循环至少执行一次,先执行后判断

    3. 代码分析:

      public class WhileDay1_1 {
         //判断do...while与while的不同
         public static void main(String[] args) {
             int i = 0;
             while (i<0){
                 System.out.println(i);
                 i++;
            }
             System.out.println("---------------------------------------");
             do {
                 System.out.println(i);
                 i++;
            }while (i<0);
        }
      }
  1. for循环(重要!)

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

    • for循环的执行次数在执行前就确定

    • for循环语法格式:

      for(初始化;布尔表达式;更新){
         //代码语句
      }
      • 掌握for循环与while循环的区别

        public class ForDay1 {
           public static void main(String[] args) {
               int a =1;//初始化条件
               while (a<=10){//条件判断
                   System.out.println(a);//循环体
                   a++;//迭代
              }
               System.out.println("while循环结束");

               //初始化//条件判断//迭代
               for (int i=1;i<=10;i++){
                   System.out.println(i);//循环体
              }
               System.out.println("for循环结束");
          }
        }
        • 关于for循环的说明:

          最先执行初始化步骤。可以声明一种类型,但可初始化一个或多个循环控制变量,也可以是空语句。然后检测布尔表达式的值。如果为true,循环体被执行。如果为false,循环终止,开始执行循环体后面的语句。执行一次循环后,更新循环控制变量(迭代因子控制循环变量的增减)。再次检测布尔表达式,循环执行上面的过程。

        • 练习;

          1. 计算0-100之间技术和偶数的和

            public class ForDay2 {
               public static void main(String[] args) {
                   //计算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 ForDay2 {
   public static void main(String[] args) {
       //用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){    //每行输出3个
               System.out.println();
              // System.out.print("\n");
          }
      }
       //println 输出完会换行
       //print 输出完不会换行
  }
}

3.打印九九乘法表

public class ForDay2 {
   public static void main(String[] args) {
       //打印九九乘法表
       //1.先打印第一列
       //2.把固定的1再用一个循环包起来
       //3.去掉重复项,i<=j
       //4.调整样式
       for (int j = 0; j <= 9; j++) {
           for (int i = 1; i <= j; i++) {
               System.out.print(j+"*"+i+"="+(j*i) + "\t");
          }
           System.out.println();
      }
  }
}
  1. 增强for循环

    主要用来遍历数组和集合

    • 语法格式:

      for(声明语句 : 表达式){
         //代码句子
      }

      举例

    public class ForDay2 {
       public static void main(String[] args) {
           int[] numbers = {1,2,3,4,5};//定义一个数组

           for (int i = 0;i<5;i++){  //遍历数组元素
               System.out.println(numbers[i]);
          }
           System.out.println("--------------------------");

           for (int x :numbers){     //遍历数组元素
               System.out.println(x);
          }
      }
    }
  2. break 与 continue

    1. break可在任何循环语句的主体部分,用于强制退出循环 ,不执行循环中剩余语句(也在switch中使用)

    2.continue用在循环语句体中,用于终止某次循环即跳过循环体中尚未执行的语句,接着进行下次是否执行循环的判定

  3. 打印三角形

    public class ForDay2 {
       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();
          }
      }
    }
posted @ 2021-11-14 20:03  Joan鑫  阅读(23)  评论(0编辑  收藏  举报