定义:用于控制代码执行顺序的语句。
计算机程序具有以下三种基本结构:顺序结构、分支结构、循环结构。
顺序结构:无需借助任何流程控制语句,程序代码从上到下逐行执行。
分支结构:需要借助if流程控制语句或switch流程控制语句,程序代码根据逻辑表达式的结果或值/表达式结果的匹配情况选择性执行。
循环结构:需要借助while流程控制语句、do while流程控制语句或for流程控制语句,程序代码根据逻辑表达式的结果循环执行。
1. if流程控制语句的基本形式:
①if (逻辑表达式) {
代码块;
}
②if (逻辑表达式) {
代码块;
}
else {
代码块;
}
③if (逻辑表达式) {
代码块;
}
else if (逻辑表达式) {
代码块;
}
...
else {
代码块;
}
注:即便“if”语句/“else if”语句/“else”语句中的代码块只由一条代码组成,也不要省略这些语句中的“{}”。这样不仅可以使代码具备良好的可读性,还可以有效规避可能产生的语法错误。
2. switch流程控制语句的基本形式:
switch (值/表达式,值/表达式结果应为byte类型/short类型/int类型/char类型/枚举类型/String类型的数据) {
case 值1: {
代码块;
break;(代码块以该语句结尾)
}
case 值2: {
代码块;
break;(代码块以该语句结尾)
}
...
default: {
代码块;
}
}
注:①“case”语句和“default”语句中的“{}”可以省略,即便其中的代码块由多条语句组成。②“default”语句中的代码块可以不以“break;”语句结尾。③如果“case”语句中的代码块不包含“break;”语句,那么当表达式与该“case”语句相匹配时,不但会执行该“case”语句中的代码块,还会执行后续“case”语句中的代码块,直到遇到一个“break;”语句。我们将这种现象称为“case穿透现象”。
3. for流程控制语句的基本形式:
for (初始化语句; 逻辑表达式,即循环条件; 迭代语句) {
代码块;(即循环体)
}
执行顺序:初始化语句→逻辑表达式→代码块→迭代语句→逻辑表达式→代码块→迭代语句→...→逻辑表达式(false)(注:最后执行的一定是逻辑表达式)
注:①即便“for”语句中的代码块只由一条代码组成,也不要省略“for”语句中的“{}”。这样不仅可以使代码具备良好的可读性,还可以有效规避可能产生的语法错误。②初始化语句、逻辑表达式、迭代语句都是可选项。
4. while流程控制语句的基本形式:
初始化语句;
while (逻辑表达式,即循环条件) {
代码块;
迭代语句;(可以视作代码块的一部分)
}
执行顺序:初始化语句→逻辑表达式→代码块→迭代语句→逻辑表达式→代码块→迭代语句→...→逻辑表达式(false)(注:最后执行的一定是逻辑表达式)
注:①即便“while”语句中的代码块只由一条代码组成,也不要省略“while”语句中的“{}”。这样不仅可以使代码具备良好的可读性,还可以有效规避可能产生的语法错误。②只有迭代语句是可选项。
5. do while流程控制语句的基本形式:
初始化语句;
do {
代码块;
迭代语句;(可以视作代码块的一部分)
}while (逻辑表达式,即循环条件); ——注意末尾的“;”
执行顺序:初始化语句→代码块→迭代语句→逻辑表达式→代码块→迭代语句→逻辑表达式→...→代码块→迭代语句→逻辑表达式(false)(注:最后执行的一定是逻辑表达式)
注:①即便“do while”语句中的代码块只由一条代码组成,也不要省略“do while”语句中的“{}”。这样不仅可以使代码具备良好的可读性,还可以有效规避可能产生的语法错误。②只有迭代语句是可选项。
6. “continue;”语句、“break;”语句和“return;”语句。
①“continue;”语句:用于跳过代码块中出现在“continue;”语句之后的语句(只适用于当前次循环,不会终止当前循环)。
②“break;”语句:用于跳过代码块中出现在“break;”语句之后的语句(会终止循环/提前结束当前循环)。
③“return;”语句:用于结束当前方法。
④“continue;”语句和“break;”语句的特殊用法(以“break;”语句为例):