zoukankan      html  css  js  c++  java
  • 循环结构-for,while,do-while

    for,while,do-while
    
    >完整的循环应该包含以下四个部分:
    
    初始化语句:初始化工作,在循环体开始之前执行
    
    条件表达式:一个boolean表达式,决定是否执行循环体
    
    循环体:反复执行的部分
    
    循环变量控制语句(迭代语句):在循环体执行完之后执行,然后再去判断循环条件,一般用来控制循环条件中的变量,使循环在合适的时候结束
    
    ###for循环
    >格式
    
            for(初始化表达式;条件表达式;循环变量控制语句){
            循环体语句;
            }
    
    特殊格式
     
            for(;;){
            
            }
    >for运行的顺序:
            
            1.执行初始化表达式,只执行一次,通常是定义循环变量语句
            2.判断循环条件:为真就往下执行;为假就结束循环
            3.执行循环体语句
            4.执行循环变量控制语句,一般是循环变量的自增或自减
            5.回到第2步,重复这个过程,直到为假时结束
    >for循环注意事项:
    
            1.循环变量通常定义为int型,因为最常用的就是int型
            2.循环条件判断的结果是boolean类型值
            3.小括号中的分号不能写成中文的分号
            4.如果循环体只有一条语句的话,可以省略大括号,但建议写全
            5.循环变量控制语句不必每次改变1,根据情况,可以是任意值
    
    
    ###While循环
    >格式
    
        [初始化语句]
        while(条件表达式){
        循环体语句;
        [循环变量控制语句]
        }
    
    特殊格式
    
        while(true){
            if(...){//退出循环;break}
            }
    >执行流程:
    
        1.执行初始化语句(如果有的话)
        2.判断条件表达式真假:如果真,往下执行;如果假,结束循环
        3.执行循环体语句
        4.执行循环变量控制语句(如果有的话)
        5.返回第2步,重复执行,直到条件为假,结束循环
    
    
    >循环变量的使用问题
    
            for循环的循环变量,一般情况下在循环外是不能访问到的,
            因为它的作用域是在for循环的{}之内,
            但是可以通过把循环变量定义在外边来实现这个功能;
            或者定义计数器
            for(int i = 0;i<10;i++){
            ...
            }
            System.out.println(i);//NG报错
            
            /*正确模式
            int i = 0;
            for(;i<10;i++){
            ...
            }
            System.out.println(i);//OK
            */
    #
    
            while循环本身就把循环变量定义在循环之外,所以没有这个问题
            int i = 0;
            while(i<10){
                ...
            i++;
            }
            System.out.println(i);
    
    >for 和 while的应用场景
    
        for循环和while循环一般情况下是可以互换的.
        1.当明确知道循环的范围的时候,通常使用for
        2.当不明确循环次数的时候,for和while都可以,通常使用while
    
    ###do-While循环
    
        [初始化语句]
        do    {
        循环体语句;//至少被执行一次
        [循环变量控制语句]
        }while(条件表达式);
    >eg1:
     
         //在控制台上依次打印1-10
             public class PrintDemo{
                public static void main(String[] args){
                    for(int i = 1;i<=10;i++){
                        System.out.println(i);
                    }
                }
            }
    
    >eg2:
     
        //求1-10的和
             public class SumDemo{
                public static void main(String[] args){
                    int sum=0;
                    for(int i = 1;i<=10;i++){
                        sum+=i;                    
                    }
                    System.out.println(sum);
                }
                
            }
        
    >eg3:
        
        //求水仙花数:位数,各个位上数字的立方和等于这个数本身,例:153
    
            public class FlowerDemo{
                public static void main(String[] args){
                    int sum=0;
                    for(int i = 100;i<=999;i++){
                        int bai = i / 100;
                        int shi = i /10 %10;
                        int    ge = i %100 %10;
                            if(bai*bai*bai+shi*shi*shi+ge*ge*ge==i){
                                System.out.println(i);
                            }            
                    }                
                }            
            }
    >eg4:
    
        //统计1000以内,同时是3,5,7的倍数的数有多少个?
          /*
           在1-100之间,若是3的倍数,则在它之后输出中文“三”,
          若是5的倍数,则在它之后输出中文“五”,
           若是7的倍数,则在它之后输出中文“七”
        */
    
        public class Multiple_3_5_7{
        public static void main(String[] args){
            for(int i= 1;i<=100;i++ ){
                System.out.print(i);
                if (i % 3 == 0){
                    System.out.print(" 三 ");
                }    
                
                if(i % 5 == 0){
                        System.out.print("五");
                    }
                if(i % 7 == 0){
                        System.out.print("七");                        
                }System.out.println("");
            }
        }
    }
  • 相关阅读:
    Leetcode Plus One
    Leetcode Swap Nodes in Pairs
    Leetcode Remove Nth Node From End of List
    leetcode Remove Duplicates from Sorted Array
    leetcode Remove Element
    leetcode Container With Most Water
    leetcode String to Integer (atoi)
    leetcode Palindrome Number
    leetcode Roman to Integer
    leetcode ZigZag Conversion
  • 原文地址:https://www.cnblogs.com/leo9257/p/8733664.html
Copyright © 2011-2022 走看看