zoukankan      html  css  js  c++  java
  • JAVA 三种循环的总结

    问题:使用循环几年了,被人问到有什么区别时,竟然有点语塞,温故一下大神的理解,整理一下。
    总结:for、while和do while用任一循环能完成的功能,其他两个循环也可以完成,只是有时会复杂一点,像while或for循环向do while转换有时需要加一个判断(像倒三角的例子),因为do while最少要执行一次。互相转换时一定要需要注意数据的还原等问题,互相转换只是练习自己对各个循环的掌握情况。在正式使用时需要根据情况分析使用哪个比较方便。
    例子:三种循环做9*9乘法表和打印倒三角形
      
     1 //for 循环写 9*9乘法表
     2   for(int x=1;x<10;x++){
     3     for(int y=1;y<=x;y++){
     4       System.out.print(y + "*" + x + "=" + x*y + " ");
     5     }
     6     System.out.println();
     7   }
     8  
     9  
    10   //while 循环写 9*9乘法表
    11   int i = 1;
    12   int j = 1;
    13   while(i<10){
    14     j=1;
    15     while(j<=i){
    16       System.out.print(j + "*" + i + "=" + i*j + " ");
    17       j++;
    18     }
    19     System.out.println();
    20     i++;
    21   }
    22  
    23  
    24   //do while循环写9*9乘法表
    25   int i = 1;
    26   int j = 1;
    27   do{
    28     j=1;
    29     do{
    30       System.out.print(j + "*" + i + "=" + i*j + " ");
    31       j++;
    32     }while(j<=i);
    33     System.out.println();
    34     i++;
    35   }while(i<10);
    36   
    37 
    38   // for 倒三角形
    39   for(int i = 5;i>0;i--){
    40     for(int j=5-i;j>0;j--){
    41       System.out.print(" ");
    42     }
    43     for(int k=2*i-1;k>0;k--){
    44       System.out.print("*");
    45     }
    46     System.out.println();
    47   }
    48 
    49 
    50 
    51   // do while 倒三角形
    52   int i = 4;
    53   int j = 0;
    54   do{
    55     int z = 4-i;
    56     do{
    57       if(z>0)
    58         System.out.print(" ");
    59       z--;
    60     }while(z>0);
    61     j = 2*i+1;
    62     do{
    63       System.out.print("*");
    64       j--;
    65     }while(j>0);
    66     System.out.println();
    67     i--;
    68   }while(i>=0);
    69 
    70   
    71 
    72   //while 倒三角形
    73   int i = 4;
    74   int j = 0;
    75   while(i>=0){
    76     int z = 4-i;
    77     while(z>0){
    78       System.out.print(" ");
    79       z--;
    80     }
    81     j = 2*i+1;
    82     while(j>0){
    83       System.out.print("*");
    84       j--;
    85     }
    86     System.out.println();
    87     i--;
    88   }
     
  • 相关阅读:
    Spring MVC注解中@PathVariable和@RequestParam的区别
    Spring MVC请求流程
    eclipse-web项目目录结构
    数论基础------质数板
    线性DP基础--acwing---动态规划
    背包基础
    ----------动态规划分界线----------
    2020牛客暑期多校训练营(第三场)
    区间选点-贪心-acwing
    2020牛客暑期多校训练营(第二场)
  • 原文地址:https://www.cnblogs.com/zou-zou/p/8591499.html
Copyright © 2011-2022 走看看