一.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测试完毕
**********************************

房上的猫:for循环,跳转语句与循环结构,跳转语句进阶的更多相关文章

  1. javascript语句——条件语句、循环语句和跳转语句

    × 目录 [1]条件语句 [2]循环语句 [3]跳转语句 前面的话 默认情况下,javascript解释器依照语句的编写顺序依次执行.而javascript中的很多语句可以改变语句的默认执行顺序.本文 ...

  2. 04-01 Java switch、for、while、do while语句,循环嵌套,跳转语句break、continue、return

    语句 1:switch语句(掌握) (1)格式: switch(表达式) { case 值1: 语句体1; break; case 值2: 语句体2; break; ... default: 语句体n ...

  3. C# 异常语句 跳转语句 while循环 穷举法 迭代法

    一  异常语句   ♦ try.....catch....finally 结构形式 try{ 可能会出错的代码语句 如果这里出错了,那么不会在继续下面的代码,而是直接进入catch中处理异常}catc ...

  4. c#循环语句 for 循环嵌套的练习。还有跳转语句,异常语句,迭代穷举介绍

    先说一下循环嵌套:循环嵌套就是再一个循环里面再放一个循环,也就是说如果没一个循环都循环10次,那么第一个循环是1的时候,嵌套的循环会循环十次.也就是10*10的效果. for 循环语句 主要还是逻辑思 ...

  5. js之语句(条件语句,循环语句,跳转语句)

    一.条件语句 1.if语句 条件语句是通过判断指定表达式的值来决定执行还是跳过某些语句,这些语句是代码是“决策点”有时称之为“分支”. if语句是一种基本的控制语句,它让Javascript程序可以选 ...

  6. 房上的猫:while循环与do-while循环,debug的调试运用

    一.循环结构 1.循环不是无休止进行的,满足一定条件的时候循环才会继续,称为"循环条件",循环条件不满足的时候,循环退出 2.循环结构是反复进行相同的或类似的一系列操作,称为&qu ...

  7. C#语句2——循环语句(for穷举、迭代和while循环)

    一.for循环拥有两类: (一).穷举: 把所有可能的情况都走一遍,使用if条件筛选出来满足条件的情况. 1.单位给发了一张150元购物卡,拿着到超市买三类洗化用品.洗发水15元,香皂2元,牙刷5元. ...

  8. JavaScript、for循环语句知识巩固,while(){}语句以及do{}while()语句以及switch()语句

    一.for循环语句练习 关于for循环存在的两个问题类型 穷举:在不知道什么情况下才真的寻要我们的结果,自能让我们一个个走一遍. 迭代:在现有的条件根据规律不断求解,中间情况,最终推测出来的结果 1. ...

  9. js-条件语句、循环语句

    一. 常见条件语句 if 语句 - 只有当指定条件为 true 时,使用该语句来执行代码 if...else 语句 - 当条件为 true 时执行代码,当条件为 false 时执行其他代码 if... ...

随机推荐

  1. while(true)应用 之 实现自己的消息队列

    早些时候,一直有个疑问,就是比如你从前端发一个操作之后,后台为什么能够及时处理你的东西呢?当然了,我说的不是,服务器为什么能够立即接收到你的请求之类高大上的东西.而是,假设你用异步去做一个事情,而后台 ...

  2. linux apt-cache使用方法

    apt-cache是linux下的一个apt软件包管理工具,它可查询apt的二进制软件包缓存文件.APT包管理的大多数信息查询功能都可以由apt-cache命令实现,通过apt-cache命令配合不同 ...

  3. 一键架设FastDFS分布式文件系统脚本,基于Centos6

    一.使用背景 业务驱动技术需要,原来使用 FTP和 Tomcat upload目录的缺陷日渐严重,受限于业务不断扩大,想使用自动化构建,自动化部署,Zookeeper中心化,分布式RPC DUBBO等 ...

  4. SQL基础教程读书笔记-2

    4 数据更新 4.1数据的插入 1.清单{①列清单 ②值清单列清单和值清单的数量必须保持一致.原则上,执行一次INSERT语句会插入一行数据对表进行全列INSERT时,可以省略表名后的列清单2.插入默 ...

  5. 我的第一个python web开发框架(18)——前台页面与接口整合

    由于我们前后台系统没有分开,所以前台页面调用接口时,可以直接使用后台管理系统已经完成的接口,不过后台管理系统接口的访问加上了登录验证,所以需要将前台要用到的接口进行处理,让它们设置到白名单当中 我们打 ...

  6. 读取指定文件夹下的全部文件,可通过正则进行过滤,返回文件路径数组 -- 基于node的一个函数

    var fs = require('fs'); // 模板文件夹路径 var templateDirectory = '../src'; //相对于当前文件的相对路径 //var templateDi ...

  7. Maven构建真正的J2EE项目

    今天同事问起我眼下用Maven构建的多模块项目架构和曾经用Eclipse创建的Web项目的问题.以下将讲一下使用maven搭建多模块的J2ee项目,以及採用这样的方式搭建项目对日后项目的水平拆分和垂直 ...

  8. Hibernate学习(二补充)关系映射----基于外键的双向一对一

    刚刚写的是基于外键的单向一对一.  那么双向一对一就是在单向一对一的基础上稍微改动就可以了. account.java和account.hbm.xml都不用变动  只要我们小小的变动address.j ...

  9. 【quickhybrid】API规划

    前言 当一切就绪后,就要开始进行API规划,这一块是整个Hybrid框架中非常重要的内容,毕竟对于前端页面来说,只会通过JS API来调用功能. 基本上,API调用起来是否方便简洁影响着整个体验. 这 ...

  10. 关于MySql中使用IFNULL()函数失效的问题。

    今天在学习时,碰到一个问题:在联表查询取得结果后,如果取得的结果是空值,则给一个默认值,如果不是空值,则返回这个值. 下面我们来看看业务场景: 在menu表中: 存储的是前端页面的菜单配置,注意成员权 ...