美文网首页
for循环语句

for循环语句

作者: 张轻舟 | 来源:发表于2018-11-04 19:43 被阅读3次

    语法

    for(初始化表达式;条件表达式;循环后的操作表达式) {
        循环体;
    }
    

    执行流程

    1.执行初始化语句,并且在整个循环过程里面只执行一次

    2.执行判断条件语句,看其返回值是true还是false

    • 如果是true,就继续执行
    • 如果是false,就结束循环,整个流程结束
      3.执行循环体语句

    4.执行循环后的操作表达式

    5.程序回到步骤2继续。

    例:

    //初始化i的值为0,只要i<10则循环一次执行打印语句,每循环一次,i自增1
    for(int i=0;i<10;i++){
        System.out.println("HelloWorld");
    }
    
    
    int k;
    
    for(k=0;k<10;k+=2){
        System.out.println("k=" + k); //0 2 4 6 8
    }
    
    
    for(int m=10;m>0;m--){
        System.out.println("m=" + m); //10..2 1
    }
    for循环中的变量
    在for循环中定义的变量只能在循环内部访问和使用,循环外是无法访问和使用的。
    
    for(int i=0;i<10;i++){
            System.out.println("Hello");
    }
    //报错,在循环外无法访问和使用i
    System.out.println(i);
    因此下面代码是可以正常执行的:
    
    for(int i=0;i<10;i++){
        System.out.println("Hello");
    }
    
    for(int i=0;i<10;i++){
        System.out.println("World");
    }
    请问下面代码是否可以正常编译并运行?
    
        for(int i=0;i<10;i++){
            int a = 10;
            System.out.println("Hello");
        }
    
        System.out.println(a);
    编译报错,因为变量a是在for循环内部创建的,所以在循环外部无法访问和使用。
    

    死循环
    倘若for循环里面的循环体只有一行代码,则大括号可以省略,但是不建议省略,最好写上。
    如果for循环编写不当,可能会造成死循环,程序永远不会停止,在编写程序时一定要避免,下面就是一个死循环。

    for(;;){
        System.out.println("Test");
    }
    

    嵌套for循环
    for循环语句还可以嵌套使用

    for(int i=5;i>0;i--){
        //因为该for循环是在上面for循环的内部,所以是可以访问变量i的
        for(int j=0;j<i;j++){
            System.out.print(j+" ");
        }
    
        //换行
        System.out.println();
    
    }   
    

    练习

    1.计算1-100所有的奇数求和

    2.在屏幕中打印九九乘法表

    答案
    
    1.在for循环里面加上if语句来判断当前循环的数字是否为奇数
    
    int sum = 0;
    
    for(int i=1;i<=100;i++){
    
        if(i%2 != 0){
            //奇数
            //追加
            sum += i;
        }
    
    }
    
    System.out.println(sum);
    2.九九乘法表一共要输出9行,首先写一个for循环来控制行数:
    
    for (int i = 1; i <= 9; i++) {
            System.out.println(i);
    }
    接下来比如我要输出九九乘法表的第一行,即1 * 1 = 1,写一个for循环:
    
    for(int j=1; j<=1; j++){
        System.out.print(1 + "*" + j + "=" +1*j + " ");
    }
    九九乘法表的第二行,即2*1=2, 2 * 2=4
    
    for(int j=1; j<=2; j++){
            System.out.print(2 + "*" + j + "=" +2*j + " ");
    }
    后面依次类推,可以发现需要修改的地方都是固定的,可以将上面的for循环修改为下面:
    
    int i = 9;
    
    for(int j=1; j<=i; j++){
        System.out.print(i + "*" + j + "=" +i*j + " ");
    }
    只需要将i修改为要输出的行数就可以,而这个变量i其实可以从第一个for循环中获取,将两个循环进行嵌套:
    
    //外层for循环控制换行,变量i是行号
    for (int i = 1; i <= 9; i++) {
        //System.out.println(i);
    
        // 输出规律:
        // 第1行,输出1个
        // 第2行,输出2个
        // 第3行,输出3个
        // ...
        // 第9行,输出9个
        // 第i行,输出i个
    
        for (int j = 1; j <= i; j++) {
            // 这里不要换行
            System.out.print(i + "*" + j + "=" + i * j + " ");
        }
    
        // 注意:上面的for循环结束之后表示一行输出结束了,换行
        System.out.println();
    
    }
    

    相关文章

      网友评论

          本文标题:for循环语句

          本文链接:https://www.haomeiwen.com/subject/blkdxqtx.html