for循环和循环嵌套

for循环语句是最常用的循环语句,一般用在循环次数已知的情况下。for循环语句的语法格式如下:

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

执行流程:
    a:执行初始化语句
    b:执行判断条件语句,看其返回值是true还是false
        如果是true,就继续执行
        如果是false,就结束循环
        执行循环体语句;
        执行循环后的操作表达式
        回到B继续。

 需求:对自然数1到4的求和

//对自然数1~4进行求和
public class ForDemo {
    public static void main(String[] args) {
        int result = 0;// 定义变量result,用于记住累加的和
        for (int i = 0; i <= 4; i++) {// result的值会在1~4之间变化
            result += i; // 实现result与i的累加
        }
        System.out.println("结果为" + result);
    }
}
//-------------输出结果为----------------
结果为10

 无限循环又叫死循环

最简单无限循环格式:

while(true){}

for(;;){}

无限循环存在的原因是并不知道循环多少次,而是根据某些条件,来控制循环。

注意:

控制条件语句控制的那个变量的问题,不要弄丢了,否则就容易死循环。

循环嵌套

嵌套循环是指在一个循环语句的循环体中再定义一个循环语句的语法结构。whiledo…whilefor循环语句都可以进行嵌套,并且它们之间也可以互相嵌套,如最常见的在for循环中嵌套for循环,格式如下:

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

    ………

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

  执行语句

  ………

  }

………

}

看下面的代码,我们分析嵌套循环执行的流程

public class ForDemo {
    public static void main(String[] args) {
        int i, j; // 定义两个循环变量
        for (i = 1; i <= 9; i++) { // 外层循环
            for (j = 1; j <= i; j++) { // 内层循环
                System.out.print("*"); // 打印*
            }
            System.out.print("\n"); // 换行
        }

    }
}
//---------------输出结果----------------
*
**
***
****
*****
******
*******
********
*********

在上述代码中定义了两层for循环,分别为外层循环和内层循环,外层循环用于控制打印的行数,内层循环用于打印“*”,每一行的“*”个数逐行增加,最后输出一个直角三角形。由于嵌套循环程序比较复杂,下面分步骤进行详细地讲解,具体如下:

第一步,在第3行代码定义了两个循环变量ij,其中i为外层循环变量,j为内层循环变量。

第二步,在第4行代码将i初始化为1,条件i <= 9true,首次进入外层循环的循环体。

第三步,在第5行代码将j初始化为1,由于此时i的值为1,条件j <= itrue,首次进入内层循环的循环体,打印一个“*”。

第四步,执行第5行代码中内层循环的操作表达式j++,将j的值自增为2

第五步,执行第5行代码中的判断条件j<=i,判断结果为false,内层循环结束。执行后面的代码,打印换行符。

第六步,执行第4行代码中外层循环的操作表达式i++,将i的值自增为2

第七步,执行第4行代码中的判断条件i<=9,判断结果为true,进入外层循环的循环体,继续执行内层循环。

第八步,由于i的值为2,内层循环会执行两次,即在第2行打印两个“*”。在内层循环结束时会打印换行符。

第九步,以此类推,在第3行会打印3个“*”,逐行递增,直到i的值为10时,外层循环的判断条件i <= 9结果为false,外层循环结束,整个程序也就结束了。

猜你喜欢

转载自www.cnblogs.com/wurengen/p/10434971.html
今日推荐