房上的猫:for循环,跳转语句与循环结构,跳转语句进阶

时间:2022-10-21 04:52:07

一.for循环
 1.定义:
  for循环语句的主要作用是反复执行一段代码,直到满足一定条件为止
 2.组成部分:
  (1)初始部分:设置循环的初始状态
  (2)循环体:重复执行的代码
  (3)迭代部分:下一次循环开始前要执行的部分,在while循环结构中它作为循环体的一部分,进行循环次数的累加
  (4)循环条件:判断是否继续循环的条件  
  注:在for循环中,这几个部分是必不可少的,不然循环就会出现错误
 3.语法:

  for(表达式1;表达式2;表达式3){
   //循环体
  }

解析:
   (1)表达式1:赋值语句
    循环结构的初始部分,为循环变量赋初值
   (2)表达式2:条件语句
    循环结构的循环条件
   (3)表达式3:赋值语句,通常用来修改循环变量的值
   注:for关键字后面括号中的三个表达式必须用";"隔开
      在for循环结构中,表达式1这个初始部分仅仅执行一次
 4.for循环结构执行的顺序:
  (1)执行初始判断
  (2)进行循环条件判断
  (3)根据循环条件判断结果
   >如果为true,则执行循环体
   >如果为false,则退出循环
  (4)执行迭代部分,改变循环变量值
  (5)依次重复"条件判断-->循环操作-->改变变量值-->条件判断......",直到退出for循环结构
 5.for循环解决问题步骤:
  (1)分析循环条件和循环操作
  (2)套用for语法写出代码
  (3)检查循环是否能退出
   注:使用for循环结构解决问题时,一定要注意循环是否能退出,即避免"死循环"现象
 6.注意(避免死循环):
  (1)在for循环结构中每个表达式部分可以写多个表达式,并用","隔开
  (2)for循环结构中的表达式1可以省略,但要在for语句前给循环变量赋值
  (3)for循环结构中的表达式2可以省略,但要在循环结构中使用break强制跳出循环
  (4)for循环结构中的表达式3可以省略,但要在循环结构内改变循环变量值
  注:如果三个表达式都省略,则一定会进入死循环

二.双重循环

 定义:二重循环就是一个循环体内又包含另一个完整的循环结构的循环
 特点:在二重循环中,外层循环变量变化一次,内层循环变量要从初始值到结束值变化一遍

//外面的for循环和单循环一样,外面的for循环一次,里面的for循环跑完一圈
for(int i =0;i<2;i++){
    for(int j =0;j<3;j++){
        //TODO
    }
}

i=0时,外面的循环1次,然后内部j从0开始,执行3次

然后i++,i=1,再次进入内部循环,j还是从0开始

三.break与continue
 1.break语句用于终止某个循环,程序跳转到循环体外的下一条语句
 2.continue语句用于跳出本次循环,进入下一次循环的语句
四.跳转语句进阶(contunue和break)
 共同点:当continue和break语句在内层循环时,只会影响内层循环的执行,对外层循环没有影响
 不同点:执行语句后,程序跳转的位置不同
  continue语句是跳出本次循环,进入下一次循环
  break语句是跳出本层循环,即提前结束本层循环,执行循环下面的语句

public class Aini {

    public static void main(String[] args) {
        System.out.println("循环没有开始");

        System.out.println("现在开始测试continue");
        for (int i = 0; i < 3; i++) {
            System.out.println("开始第"+i+"次for循环");
            if (i==1) {
                continue;
            }
            System.out.println("看看continue后这里执行了吗?");
        }
        System.out.println("continue测试完毕\n********************************");

        System.out.println("现在开始测试break");
        for (int i = 0; i < 3; i++) {
            System.out.println("开始第"+i+"次for循环");
            if (i==1) {
                break;
            }

            System.out.println("看看break后这里执行了吗?");
        }
        System.out.println("break测试完毕\n**********************************");
    }
}

打印结果为:

循环没有开始
现在开始测试continue
开始第0次for循环
看看continue后这里执行了吗?
开始第1次for循环
开始第2次for循环
看看continue后这里执行了吗?
continue测试完毕
********************************
现在开始测试break
开始第0次for循环
看看break后这里执行了吗?
开始第1次for循环
break测试完毕
**********************************