流程控制的简单概念

流程控制:指通过关键字控制代码的执行流程;

一、顺序结构:执行顺序从左到右从上到下;

顺序结构无关键字,一般而言大多数代码都是顺序结构;

二、选择结构:根据条件判断是否执行

选择结构的关键字:if、else、switch;

/**
选择结构的简单格式
**/
// 单分支结构
if(){ } // 双分支结构
if(){ }else{ } // 多分支结构
if(){ }else if(){ }else if(){ }… switch(){
case 1:
...
...
} /**
选择结构详解
**/
if(条件表达式1){
条件表达式1成立时执行的代码块;
条件表达式1成立时,将不会继续执行其后的所有条件判断直接跳出分支结构;
}else if(条件表达式2){
条件表达式2成立时执行的代码块;
}else{
以上所有条件表达式都不成立时要执行的代码块;
}//else可根据实际情况选择是否添加 switch(表达式){
case值1:
表达式的值为值1时要执行的代码块;
break;//如无break,会继续执行其后的case子句,直至碰到break或者switch语句整体执行完毕
case值n:
表达式的值为值n时要执行的代码块;
break;
default:
表达式值不为以上所有值时要执行的代码块;
break;
}

关于switch的几点注意事项:

1、switch只适用于穷举法(需列举出所有可能的情况)

2、switch表达式的值的类型仅限于:int、String、Enum

3、只有当所有的case都不等于switch表达式的值时才执行default;default的执行顺序与其位置无关(default即使在case前,也不会最先执行它)

4、break作用是结束switch结构

5、case不能重复

三、循环结构:当条件成立时执行循坏体内语句,一直重复,直至条件不成立

​ 循环结构的关键字:while、for

// 1、while循环;
// while循环的格式:
while(条件表达式){
条件表达式成立时执行的代码块;(循环体)
迭代语句;(按指定的算符重复的更改某个变量的值)
}//格式与if极为相似,甚至可以说是完全相同;
/**
while的执行过程:
1、判断条件表达式是是否成立,不成立结束while;
2、条件表达式成立,执行代码块一次;
3、重复1、2直到条件表达式不成立;
**/ //2、do-while;
//do-while循环的格式
do{
循环体(循环执行的代码块)
迭代语句;
}while(条件表达式);
/**
while与do-while的区别:
do-while是先执行,后判断;至少执行一次;
while先判断后执行;可能一次也不执行;
**/ //3、for;
//格式如下
for(初始化语句;条件表达式;迭代语句){
循环体(条件表达式成立时执行的代码块)
}//初始化语句:用于定义变量、给变量赋初始值的语句
//for特殊情况:初始化语句、条件表达式、迭代语句、都可以省略;构成死循环
//当条件表达式省略后:条件表达式的取值默认为true 初始化语句;
while(条件表达式){
循环体(条件表达式成立时执行的代码块)
迭代语句
}//根据以上两段代码格式,我们可以看出for和while完全等价,只是格式不同 //for循环中相关变量的作用域
int a=1;//变量a:在main方法的大括号内定义的作用域为整个main方法
for(int b=1;b<5;){
//变量b:在for循环的初始化语句中定义的作用域为整个for循环
int c=1;
//变量c:在for循环的循环体中定义的,作用域为本次for循环
}//一个变量的作用域取决于定义此变量的括号

四、跳转:

跳转语句共两个,分别为:break与continue;

break:

使用场景1:用在switch中,作用:结束switch结构;

使用场景2:用在循环中,作用:结束本层循环;

continue:

使用场景:用在循环中,结束此次循环,继续下一次循环;

五、JavaSE语言基础之流程控制的更多相关文章

  1. Go语言基础之流程控制

    Go语言基础之流程控制 流程控制是每种编程语言控制逻辑走向和执行次序的重要部分,流程控制可以说是一门语言的“经脉”. Go语言中最常用额流程控制有if和for,而switch和goto主要是为了简化代 ...

  2. GO语言学习——Go语言基础之流程控制一

    Go语言基础之流程控制 if else(分支结构) package main import "fmt" // if条件判断 func main(){ // age := 19 // ...

  3. 1.4 Go语言基础之流程控制

    流程控制是每种编程语言控制逻辑走向和执行次序的重要部分,流程控制可以说是一门语言的"经脉". Go语言中最常用的流程控制有if和for,而switch和goto主要是为了简化代码. ...

  4. GO学习-(7) Go语言基础之流程控制

    流程控制是每种编程语言控制逻辑走向和执行次序的重要部分,流程控制可以说是一门语言的"经脉". Go语言中最常用的流程控制有if和for,而switch和goto主要是为了简化代码. ...

  5. go语言基础之流程控制 if语句

    Go语言支持最基本的三种程序运行结构:顺序结构.选择结构.循环结构. 顺序结构:程序按顺序执行,不发生跳转. 选择结构:依据是否满足条件,有选择的执行相应功能. 循环结构:依据条件是否满足,循环多次执 ...

  6. Java基础-程序流程控制第二弹(循环结构)

    Java基础-程序流程控制第二弹(循环结构) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 流程控制有三种基本结构:顺序结构,选择结构和循环结构.一个脚本就是顺序结构执行的,选择结 ...

  7. Go语言 数据类型,流程控制

    Go语言 数据类型,流程控制 人生苦短,Let's Go ! package main // 必须要有一个main包 import "fmt" func main() { fmt. ...

  8. Java基础-程序流程控制第一弹(分支结构/选择结构)

    Java基础-程序流程控制第一弹(分支结构/选择结构) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.if语句 1>.if语句的第一种格式 if(条件表达式){ 语句体: ...

  9. JAVA入门基础及流程控制

    JAVA入门基础及流程控制 数据类型 位 存储单位 eg:0001 0011 八位 字节 byte 处理数据单位 一字节等于八位 eg:1b=0011 0001 类变量: static int num ...

随机推荐

  1. [网络编程之客户端/服务器架构,互联网通信协议,TCP协议]

    [网络编程之客户端/服务器架构,互联网通信协议,TCP协议] 引子 网络编程 客户端/服务器架构 互联网通信协议 互联网的本质就是一系列的网络协议 OSI七层协议 tcp/ip五层模型 客户端/服务器 ...

  2. EasyBPM打印模板的缓存问题

    业务平台EasyBPM(易实管理软件)有一个功能是模板打印的功能.就是可以使用一个docx格式的模板,输出一个docx格式的单据的文档. 打印的逻辑是先从服务端获取模板,如果没有对应的模板,就提示先上 ...

  3. [bug] CDH安装中断 再次安装显示当前受管 无法选择

    参考 https://blog.csdn.net/JacksonKing/article/details/104350313 重装 https://blog.csdn.net/simle168/art ...

  4. [DB] MapReduce

    概述 大数据计算的核心思想:移动计算比移动数据更划算 MapReduce既是一个编程模型,又是一个计算框架 包含Map和Reduce两个过程 终极目标:用SQL语句分析大数据(Hive.SparkSQ ...

  5. IIS 10 设置FTP Passive Mode 固定端口

    1. Run [Start] - [Server Manager] and Click [Tools] - [Internet Information Services (IIS) Manager]. ...

  6. 一、apt的简介

    一.apt的简介 apt的全称是Advanced Packaging Tool是Linux系统下的一款安装包管理工具. 最初需要在Linux系统中安装软件,需要自行编译各类软件,缺乏一个统一管理软件包 ...

  7. 11.6 mpstat:CPU信息统计

        mpstat 是Multiprocessor Statistics的缩写,是一种实时系统监控工具.mpstat命令会输出CPU的一些统计信息,这些信息存放在/proc/stat文件中.在多CP ...

  8. 大数据学习之路——MySQL基础(一)——MySQL的基础知识与常见操作

    一.存储引擎 1.含义 存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建.查询.更新和删除数据.不同的存储引擎提供不同的存储机制.索引技巧.锁定水平等功能,使用不同的存储引 ...

  9. 【Azure 环境】Azure Key Vault (密钥保管库)中所保管的Keys, Secrets,Certificates是否可以实现数据粒度的权限控制呢?

    问题描述 Key Vault (密钥保管库) 能不能针对用户授权实现指定用户只能访问某个或某些特定的key? 如当前有两个用户(User1, User2),在Key Vault中有10个Key,Use ...

  10. openresty 学习笔记三:连接redis和进行相关操作

    openresty 学习笔记三:连接redis和进行相关操作 openresty 因其非阻塞的调用,令服务器拥有高性能高并发,当涉及到数据库操作时,更应该选择有高速读写速度的redis进行数据处理.避 ...