流程控制的简单概念

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

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

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

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

选择结构的关键字: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. [c++] 声明

    注意事项 变量定义时就会赋初值(如int是0),所以定义包含声明,单纯声明不定义的话,要加extern 同一个文件中,函数使用(调用)前必须定义(有{ }为定义),否则会报错:若先使用再定义,或定义和 ...

  2. QTableWidget - 基础讲解(1)

    转载:http://www.cnblogs.com/fuqia/p/8904196.html QTableWidget是QT程序中常用的显示数据表格的空间,很类似于VC.C#中的DataGrid.说到 ...

  3. 命令stat anaconda-ks.cfg会显示出文件的三种时间状态(已加粗):Access、Modify、Change。这三种时间的区别将在下面的touch命令中详细详解:

    7.stat命令 stat命令用于查看文件的具体存储信息和时间等信息,格式为"stat 文件名称". stat命令可以用于查看文件的存储信息和时间等信息,命令stat anacon ...

  4. Keepalived+nginx高可用

    这种方法会把Keepalived进程结束掉,在教育机构学习到的方法,我个人对这种方法不认可. 参考: https://www.cnblogs.com/gshelldon/p/14504236.html ...

  5. 6T硬盘分区

    6T硬盘分区 1.umount /data1   #  如果正在使用需要此命令卸载. 2.parted /dev/sdb     # parted 分区工具,选择要分区的硬件设备 mklabel gp ...

  6. CSS 重置技术

    元素默认样式显示问题 每个浏览器对不同元素都有自己的默认样式.Google Chrome 渲染正文标题.段落.列表等,与 IE 浏览器可能都有所不同.这就导致同一个页面元素在不同的浏览器中显示效果不一 ...

  7. spring mvc下实现通过邮箱找回密码功能

    1功能分析 通过spring mvc框架实现通过邮箱找回密码. 2 实现分析 主要是借助某个邮箱的pop3/smtp服务实现的邮件代发功能. 3 源码分析 3.1首先在用户表对应的javabean中加 ...

  8. Jquery的load加载本地文件出现跨域错误的解决方案"Access to XMLHttpRequest at 'file:///android_asset/web/graph.json' from(Day_46)

    博主是通过JS调用本地的一个json文件赋值给变量出现的跨域错误, 网上有大量文章,五花八门的,但总归,一般性此问题基本可通过这三种方法解决: https://blog.csdn.net/qq_418 ...

  9. SystemVerilog MCDF比较器

    checker肩负了模拟设计行为和功能检查任务. 功能: 缓存从各个monitor手机到的数据. ton过比较器检查实际收集到的DUT输出端口数据是否同reference module(参考模型)产生 ...

  10. [翻译] 预览 C# 10 的新东西

    原文: [Introducing C# 10] 作者: Ken Bonny ​ 本周早些时候(译注:原文发表于5月1日),我关注了 Mads Torgersen 在 DotNet SouthWest ...