循环语句

while、do while、for三种循环

1、while循环

语法:
while(表达式){
  command;
}
特点:先判断,再执行

举例1:
/**
 * 求10的阶乘
 */
package test_java;
public class Test18{
    public static void main(String[] args){
        int num = 1;
        int i = 1;
        while(i<=10){
            num *= i;
            i++;
        }
        System.out.println(num);
    }
}

2、do while循环

语法:
do{
  循环体;
}while(表达式);
特点:先执行一遍循环体,再进行表达式判断,符合条件循环继续,否则退出循环。即至少会执行一遍循环体。

举例2:
/**
 * 求1的阶乘+2的阶乘+...+直到10的阶乘,最后相加之和
 */
package test_java;
public class Test19{
    public static void main(String[] args){
        int i=1;       //记录数
        int num=0;  //求和
        do{
            int jc=1;
            int j=1;
            while(j<=i){
                jc*=j;  //1到10的每个数的阶乘值
                j++;
            }
            num+=jc;
            i++;
        }while(i<=10);
        System.out.println(num);
    }
}

3、for循环

语法:
for(初始化参数;判断条件;更新循环变量){
  循环体;
}
关键字:continue表示跳过当次循环,继续下次循环。
for循环的六种写法:
1、标准写法
2、表达式1省略,但在外部声明
3、表达式2省略,死循环
4、表达式3省略,但是要声明在循环内部
5、表达式1,3省略,但是要声明在循环的外部和内部
6、三个表达式都省略,死循环
如:
package test_java;
public class Test20{
    public static void main(String[] args){
        //(1)第一种写法,标准格式
        for(int i = 0;i<10;i++){
            System.out.println(i);
        }
        
        //(2)第二种写法,表达式1省略
        int i = 0;
        for (;i<10;i++){
            //System.out.println(i);
        }
        
        //(3)第三种写法,表达式2省略,死循环
        for(int i = 0;;i++){
            //System.out.println(i);
        }
        
        //(4)第四种写法,表达式3省略,但是要声明在循环内部
        for(int j =0;j<10;){
            //System.out.println(j);
            j++;
        }
        
        //(5)第五种写法,表达式1,3都省略,但是要声明在循环的外部和内部
        int k=0;
        for(;k<10;){
            //System.out.println(k);
            k++;
        }
        
        //(6)第六种写法,三个表达式都省略,死循环
        for(;;){    
        }
    }
}

举例1:
/**
 * for循环输出斐波那契数据1 1 2 3 5 8 13 21 34 55 共计10个
 */
package test_java;
public class Test22 {
    public static void main(String[] args){
        int n1=1;
        int n2=1;
        int next=0;
        System.out.print(n1+" "+n2+" ");
        for(int i=0;i<8;i++){
            next=n1+n2;
            n1=n2;
            n2=next;
            System.out.print(next+" ");
        }
    }
}

举例2:
/**
 * for循环,求出0~200之间能被7整除不能被4整除的整数
 */
package test_java;
public class Test21{
    public static void main(String[] args){
        for(int i=0;i<=200;i++){
            if(i%7==0 && i%4!=0){
                System.out.println(i);
            }
        }
    }
}

举例3:
/**
        *
      * *
    * * *
  * * * * 
* * * * *
 */
package test_java;
public class Test25 {
    public static void main(String[] args){
        //外层循环控制行数
        for(int i=1;i<=5;i++){
            //内层循环控制列数,列数每次循环5次,即输出5次,只不过什么时候输出空格,什么时候输出*
            for(int j=5;j>0;j--){
                if(j<=i){
                    System.out.print("*");
                }else{
                    System.out.print(" ");
                }
            }
            System.out.println();
        }
    }
}

举例4:
/**
 for循环嵌套,输出如下的格式
    *
   ***
  *****
 *******
*********
 */
package test_java;
public class Test26 {
    public static void main(String[] args){
        //外层循环控制行数
        for(int i=1;i<=5;i++){
            //内层循环1控制空格的列数
            for(int j=i;j<5;j++){
                System.out.print(" ");
            }
            //内层循环2控制*号的列数
            for(int k=1;k<=i*2-1;k++){    //k<=i*2-1 表示每隔2个数
                System.out.print("*");
            }
            System.out.println();
        }
    }
}

你可能感兴趣的:(循环语句)