2019-11-19
BigData 大数据培训 好程序员
好程序员大数据培训分享大数据之流程控制,程序在运行的时候, 对代码执行的先后顺序, 称作程序的执行结构. 在Java中, 程序的执行结构分为三种:
- 顺序结构: 代码从上往下逐行执行, 是程序执行的基本结构
- 分支结构: 代码执行到某一个节点遇到多个分支, 选择其中的一个分支执行, 其他的分支都不执行
- 循环结构: 某一个代码段需要重复的执行
程序默认采用的是顺序结构, 我们也可以通过一些语句来修改程序的执行结构, 这样的语句叫做**流程控制语句**, 按照修改的执行结构不同, 可以分为 **分支流程控制** 和 **循环流程控制**
1.3.1 分支流程控制--if
基础语法
java
if (condition) {
// 代码段1
}
else {
// 代码段2
}
逻辑: condition是一个boolean类型的变量, 或者一个boolean结果的表达式. 如果condition的值为true, 则代码段1执行, 否则, 代码段2执行
进阶
java
if (condition1) {
// 代码段1
}
else if (condition2) {
// 代码段2
}
else {
// 代码段3
}
逻辑: 先判断condition1, 如果condition1成立, 执行代码段1; 如果condition1不成立, 再判断condition2, 如果condition2成立, 执行代码段2, 否则执行代码段3
特殊说明
在if-else语句中, 如果某一个代码段中只有一句语句, 则大括号可以省略; 但是从语法的规范来说, 一般情况下, 我们是不省略的
1.3.2 分支流程控制--switch
基础语法
java
switch (variable) {
case value1:
case value2:
default:
}
逻辑: variable是一个变量, switch语句捕获这个变量的值; 如果变量的值和某一个case后面的值相同了, 就会执行这个case后面的语句; 如果变量的值没有和任意的一个value相同, 则执行default后面的值
注意事项
在switch-case语句中有穿透性, 即: 如果variable的值和某一个value匹配了, 会执行从这个case开始, 一直到switch语句结束, 后面所有的代码, 且跳过后面的case匹配; 为了避免穿透, 可以使用关键字**break**来跳出switch语句
1.3.3 循环流程控制--while
基础语法
java
while (condition) {
// 循环体
}
逻辑: 每次循环线判断condition, 如果为true, 循环体执行, 然后再判断condition; 直到condition为false, 循环结束
do-while
java
do {
// 循环体
} while (condition);
逻辑: 先执行一次循环体, 然后再判断循环条件是否成立
关键字 break, continue 与 循环标签
break
用在循环中, 表示跳出循环; 如果用在多层循环中, 只会跳出当前的一层循环
continue
用在循环中, 表示继续循环, 从continue开始, 后面所有的代码不执行, 直接进入下次循环
循环标签
一般用在多层循环中, 可以给每一个循环都添加一个标签; 可以配合break语句, 直接结束指定的循环. 或者配合continue语句, 直接终止指定循环的执行, 立即进入下次循环
1.3.4 循环流程控制--for
基础语法
java
for (循环起点; 循环条件; 循环步长) {
循环体
}
逻辑:
先执行循环起点, 一般用与定义一个控制循环的变量, 或者给这个变量一个初始值
再判断循环条件是否成立, 如果循环条件成立, 执行循环体, 再执行循环步长, 然后重新判断循环条件
如果循环条件不成立, 循环结束
特殊说明
- 关于语法省略
- for循环的小括号中由三部分组成, 这三个部分都可以省略:
- 循环起点: 变量的定义可以放在循环外
- 循环条件: 如果省略, 默认是true, 可以在循环体中控制跳出循环
- 循环步长: 可以在循环体中控制步长
- 关于大括号
- 如果循环体中只有一句语句, 循环体大括号可以省略; 但是出于规范, 一般我们也不省略
开班时间:2021-04-12(深圳)
开班盛况开班时间:2021-05-17(北京)
开班盛况开班时间:2021-03-22(杭州)
开班盛况开班时间:2021-04-26(北京)
开班盛况开班时间:2021-05-10(北京)
开班盛况开班时间:2021-02-22(北京)
开班盛况开班时间:2021-07-12(北京)
预约报名开班时间:2020-09-21(上海)
开班盛况开班时间:2021-07-12(北京)
预约报名开班时间:2019-07-22(北京)
开班盛况Copyright 2011-2023 北京千锋互联科技有限公司 .All Right 京ICP备12003911号-5 京公网安备 11010802035720号