一、顺序结构

1、说明
  程序从上往下依次执行,中间没有任何跳转或选择
2、特点
  变量必须遵循 “前向引用”
  (局部变量必须先声明、赋值,然后再使用!)

二、分支结构(条件)

1、说明
  程序从两条或多条路径中,选择一条去执行

2、分类

  语法 执行顺序 注意事项
  if结构 

1、单分支
  if(条件){
    代码块1;
  }

先判断条件是否成立,

如果成立,则执行代码块1.否则跳过if结构,往下执行

①条件 的结果只能是boolean类型,形式可以为:
  关系表达式
  逻辑表达式
  oolean变量
  boolean常量
  boolean变量的赋值语句
②代码块 可以为0条或多条语句
  形式可以为输出、输入、分支、循环等
③如果代码块中只有一句话,则可以省略大括号

2、双分支
  if(条件){
    代码块1;
  }else{
    代码块2;
  }

先判断条件是否成立,

如果成立,则执行代码块1.否则执行代码块2

3、多重分支
  if(条件1){
    代码块1;
  }else if(条件2){
    代码块2;
  }...
  else{
    代码块n;
  }

先判断条件1,

如果成立执行代码块1,否则判断条件2,

如果成立,执行代码块2,依次类推,如果都不成立,则执行代码块n

4、嵌套分支
  if(){
    if(){
    }
  }

先判断外层条件,

如果成立,则进行代码块,即继续判断内层条件..

switch结构 switch(变量){
case 常量值1:代码块1;break;
case 常量值2:代码块2;break;
...
default:代码块n;break;
}

先得出switch括号中变量的值,

然后依次判断各个case,如果有匹配的,则执行对应的代码块,直到遇见break为止;

如果都不匹配,则执行default中的代码块n,直到遇见break为止

①变量的类型
  只能是int、byte、short、char
  String(jdk1.7)
  枚举(jdk1.5)
②case后的常量值不能重复
③case后不可以是变量
④break可以省略,但可能影响效果
⑤default可以省略,位置也可以提前,但可能影响效果

3、if和switch的对比★

相同点:都属于分支结构
不同点:
  能用switch的,肯定能用if
  能用if的,不一定能用switch,必须满足以下要求:
    ①等值判断
    ②判断的类型必须为int、byte、short、char、String(jdk1.7)、枚举(jdk1.5)
注意:使用switch结构效率较高!

三、循环结构

1、说明

  在满足某个特定条件的基础上,反复执行某段代码的结构

2、四要素

  ①循环变量初始化

  ②循环条件

  ③循环操作

  ④循环变量更新

3、好处

  ①提高代码简洁性

  ②提高代码的维护性和扩展性

4、分类

  while

  do while

  for

  jdk5.0之后,多了增强for循环

5、具体实施步骤★

题型一:知道次数

  优先考虑用for    

  1、先搭框架
    for(int i=1;i<=次数;i++){执行代码;}

  2、分析循环操作
  3、检测循环是否具备四要素

题型二:不知道次数
  1、先搭框架
    while(){
    }
  2、分析循环操作和循环条件
  3、检测循环是否具备四要素

6、三种循环结构详细介绍★

(1)while

语法:

  循环变量初始化 ①

  while(循环条件){ ②

    循环操作 ③
    循环变量更新 ④
  }
执行顺序:①②③④②③④....直到②不成立为止

(2)do while

语法:

  循环变量初始化 ①
  do{
    循环操作 ③
    循环变量更新 ④
  }while(循环条件); ②
执行顺序:①③④②③④②③④...直到②不成立为止

(3)for

语法:

      ①      ②    ④
  for(循环变量初始化;循环条件;循环变量更新){

    循环操作③
  }
执行顺序:①②③④②③④....直到②不成立为止

7、三种循环结构比较★

相同点:
  1、都能解决任何类型的循环题目
  2、都具备循环四要素
不同点:

  1、语法不同

  2、执行顺序不同
    while和for 先判断后执行
    do while 先执行后判断
  3、执行效果不同
    如果第一次条件成立,while、do while、for 执行效果相同
    如果第一次条件不成立,while、for 执行0次;do while 执行至少一次!
  4、执行效率不同
    do while 效率最高
  5、应用场景不同
    知道次数,优先考虑用for
    不知道次数,
      先判断:while
      先执行:do while

8、嵌套循环

说明:一个循环结构中又嵌套了另一个完整的循环结构
注意:如外层循环,执行m次;内层循环,执行n次。 内层循环的循环体最终执行 m*n次

四、跳转结构

1、说明

  用于改变正常的程序控制流
2、分类
  break
  continue
  return
3、跳转结构详细介绍

(1)break
  特点:一般用于循环或switch中,跳出所在的循环或switch
  语法:
    场景1:【最常用】
      一般搭配if结构放在循环中或直接放在switch的case语句中
    场景2:【了解】
      直接搭配标签,放在任何代码块中

示例1:
  label:if(){
    break label;
  }
示例2:
  label :while(){
      while(){
        if(){
          break label;
        }
      }
    }
注意:break如果不搭配标签,默认跳出的就是所在的最近的switch或一层循环。如果搭配标签,则可以跳出标签指定的代码块

(2)continue
  特点:只能用于循环中,结束本次循环,继续下一次循环
  语法:
    场景1:【最常用】
      搭配if结构放在循环中

while(){
if(){
continue;
}
}

场景2:【了解】
  label:while(){
      while(){
        if(){
          continue label;
        }
      }
  }
注意:continue如果不搭配标签,默认起作用的就是所在的一层循环。如果搭配标签,则可以跳出标签指定的循环

(3)return
  特点:用在方法中,跳出所在的方法

4、跳转结构比较

  语法应用场景 特点
break 一般放在循环或switch 中断所在的结构
continue 只能放在循环 结束本次循环,继续下一次
return 用在方法中 跳出所在方法

JavaSE基础知识(3)—流程控制结构的更多相关文章

  1. C语言基础知识-程序流程结构

    C语言基础知识-程序流程结构 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.概述 C语言支持最基本的三种程序运行结构:顺序结构,选择结构,循环结构. 顺序结构:程序按顺序执行, ...

  2. PHP丨PHP基础知识之流程控制WHILE循环「理论篇」

    昨天讲完FOR循环今天来讲讲他的兄弟WHILE循环!进入正题: while是计算机的一种基本循环模式.当满足条件时进入循环,进入循环后,当条件不满足时,跳出循环.while语句的一般表达式为:whil ...

  3. JavaSE基础知识总结

    最近回顾了一下Java的基础知识,决定写成博客梳理一遍,主要是JavaSE部分最基础的知识,适合考前突击,学后回顾,不适合作为初学材料. 简单的列个目录吧: 一.数据类型和运算符 二.流程控制与数组 ...

  4. JavaSE 基础知识(常识概念 + 基础语法)问答总结/面试题 —— 讲给应届生的 Java 开源知识项目

    写在最前面 这个项目是从20年末就立好的 flag,经过几年的学习,回过头再去看很多知识点又有新的理解.所以趁着找实习的准备,结合以前的学习储备,创建一个主要针对应届生和初学者的 Java 开源知识项 ...

  5. javaSE基础知识(走向编程的门口)— 更新完毕

    前言:玩儿编程最重要的一点:不要怕麻烦,感觉是在浪费时间: 能动手绝不哔哔:只要脑袋不傻,编程都是"一看就会,一练就废",开始学的时候,就算再基础的东西都建议手敲一遍 要有囫囵吞枣 ...

  6. PHP基础知识之流程控制的替代语法

    PHP 提供了一些流程控制的替代语法,包括 if,while,for,foreach 和 switch. 替代语法的基本形式是把左花括号({)换成冒号(:),把右花括号(})分别换成 endif;,e ...

  7. java 基础知识四 流程控制

    java   基础知识四 流程控制 Java流程控制包括顺序控制.条件控制和循环控制 顺序控制就是逐条执行 有if和switch两个分支 循环控制就是 又称为回路控制,根据循环初始条件和终结要求,执行 ...

  8. Go基础系列:流程控制结构

    条件判断结构:if else 分支选择结构:switch case 循环结构:for break:退出for或switch结构(以及select) continue:进入下一次for迭代 虽然Go是类 ...

  9. JavaSE基础知识(2)—变量和运算符

    一.变量 1.理解 概念:内存中的一块数据存储空间 2.变量的三要素 数据类型变量名变量值 3.变量的语法和使用步骤★ 步骤1:声明变量(计算机开辟一块空间) 数据类型 变量名;步骤2:为变量赋值(初 ...

随机推荐

  1. oracle-组件vault

    ===================== lsnrctl stopshutdown immediate;emctl stop dbconsolecd $ORACLE_HOME/rdbms/libma ...

  2. java实现导入excel功能

    实现功能: 1.Excel模板下载 2.导入excel 一.jsp效果和代码 <form id="uploadForm" target="frameFile&quo ...

  3. Linux查看和修改文件时间

    参考http://www.361way.com/chang-file-time/1632.html 一:查看时间 1:查看文件的具体时间信息 File: `probn' Size: Blocks: I ...

  4. Nginx反向代理tomcat返回400 bad request

    Nginx反向代理tomcat返回400 bad request nginx 版本1.12, tomcat版本 9.06 最近用Nginx做反向代理tomcat,实现前后端分离,nginx 将请求代理 ...

  5. jekins构建触发器详解-日程表的使用

    日程表参数解释如下: 第一个参数代表的是分钟 minute,取值 0~59: 第二个参数代表的是小时 hour,取值 0~23: 第三个参数代表的是天 day,取值 1~31: 第四个参数代表的是月 ...

  6. mysql中的锁

    MYSQL不同的存储引擎支持不同的锁的机制 MyISAM 支持表锁,InnoDB支持表锁和行锁 表锁,行锁比较 表锁:开销小,加锁快:不会出现死锁:锁定力度大,发生锁冲突概率高,并发度最低 行锁:开销 ...

  7. 软件-集成开发环境:IDEA(Java 语言开发的集成环境)

    ylbtech-软件-集成开发环境:IDEA(Java 语言开发的集成环境) IDEA 全称IntelliJ IDEA,是用于java语言开发的集成环境(也可用于其他开发语言),IntelliJ在业界 ...

  8. 经典算法二分查找循环实现Java版

    二分查找 定义 二分查找(Binary Search)又称折半查找,它是一种效率较高的查找方法. 要求 (1)必须采用顺序存储结构 (2)必须按关键字大小有序排列 查找思路 首先将给定值K,与表中中间 ...

  9. FileMaker应用场景思考

    大型企业有自己强大的IT队伍,但一些小需求没人理,小企业只有网管或没有专门的IT. 一般个人记录或处理数据时,Excel很够用了,但一个Team,Excel就明显有问题了,比如共享.权限控制?最简单的 ...

  10. CountDownLatch两种用法

    1.当前线程等待其他线程执行完毕后在执行. 2.模拟高并发场景. 在多线程编程里,CountDownLatch是一个很好的计数器工具. 常用的两个方法: 1.计数器减一 public void cou ...