ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

循环结构

2022-07-01 02:01:35  阅读:120  来源: 互联网

标签:System while 循环 println 结构 public out


循环结构

  • while循环

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

    while(布尔表达式){

    //循环内容

    }

    • 只要布尔表达式为true,循环就会一直执行下去。

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

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

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

    • 思考:计算1+2+3.....+100=?

      package com.tang.struct;

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

        }
      }
      //while (ture){ 为死循环 尽量避免!


      =================================================================
        package com.tang.struct;

      public class whileDemo02 {
         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);
            }
        }
      }
  • do...while循环

    • 对于while语句而言,如果不满足条件,则不能进入循环,但有时候我们需要即使不满足条件,也至少执行一次。

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

      do{

      //代码语句

      }while(布尔表达式);

    • while和do...while的区别:

      1. while先判断后执行。do...while是先执行后判断!

      2. do...while总是保证循环体会被至少执行一次!这是最大的区别。

    package com.tang.struct;//示例

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

      }
    }
    ================================================================
       package com.tang.struct;//区别

    public class DoWhileDemo04 {
       public static void main(String[] args) {
           int a =0;
           while (a<0){
               a++;
          }
           //上面的没有执行
           System.out.println("===========================================");
           do {
               System.out.println(a);//输出0
               a++;
          }while (a<0);
      }
    }
  • for循环

    • 虽然所有循环结构都可以用while或者do...while表示,但Java提供了另一种语句---for循环,使一些循环结构变得更加简单。

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

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

    for(初始化;布尔表达式;更新){

    //代码语句

    }

    package com.tang.struct;

    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++){    //快捷键 : 100.for
               System.out.println(i);

          }
           System.out.println("for循环结束!");
           /*
           关于for循环有一下几点说明:
           最先执行初始化步骤。可以声明一种类型,但可初始化一个或多个循环控制变量,也可以是空语句。
           然后,检测布尔表达式的值。如果为true,循环被执行。如果为false。循环终止,开始执行循环后面的语句。
           再次检测布尔表达式。循环执行上面的过程。
            */
           //死循环
           for (; ; ){
          }
      }
    }
    • 练习1:计算0-100之间的奇数和偶数的和

    package com.tang.struct;

    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;  //oddSum = oddSum + i
              }else {          //偶数
                   evenSum+=i;
              }
               
          }
           System.out.println("奇数的和"+oddSum);
           System.out.println("偶数的和"+evenSum);

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

    package com.tang.struct;

    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();
                   //System.out.println("\n")
              }

          }
           //println 输出完会换行
           //println 输出完不会换行
      }
    }
    • 练习3:打印九九乘法表

    package com.tang.struct;
    /*
    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
    */

    public class ForDemo04 {
       public static void main(String[] args) {
           //1.先打印第一列,
           //2.把固定的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();




          }

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

    • 这里我们只是先见一面做个了解,之后数组我们重点使用

    • Java5引用了一种主要用于数组或集合的增强型for循环

    • Java增强for循环语法格式如下:

    for(声明语句:表达式)

    {

    //代码句子

    }

    • 声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句快,其值与此时数组元素的值相等。

    • 表达式:表达式是要访问的数组名,或者是返回的值为数组方法。

    package com.tang.struct;

    public class ForDemo05 {
       public static void main(String[] args) {
           int[] numbers ={10,20,30,40,50};//定义了一个数组
           //遍历数组的元素
           for (int x:numbers){//增强for
               System.out.println(x);

               System.out.println("===================");
               for (int i = 0; i < 5; i++) {  //基础for
                   System.out.println(numbers[i]);

              }

          }
      }
    }

     

  •  

标签:System,while,循环,println,结构,public,out
来源: https://www.cnblogs.com/hbh-cn/p/16433199.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有