选择结构与循环结构
6.1 if 语句
- 基本形式:
if(判断表达式){
操作1;
操作2;
…
}
执行顺序为:先判断判断表达式的布尔值是否为真。如果为真,则执行 if 体;否则跳过 if 体,继续执行后续语句。
- 与 else 搭配使用的标准形式:
if (判断表达式){
操作1;
} else{
操作2;
}
执行顺序为:先判断判断表达式的布尔值是否为真。当判断表达式的布尔值为真时,执行 if 体;当判断表达式的布尔值为假时,执行 else 体。if 体或 else 体执行完毕后,该结构执行结束,继续执行后续语句。
- else if 结构:
if (表达式){
执行操作1;
}else if(表达式2){
执行操作2;
}else if(表达式3){
执行操作3;
…
}else{
执行操作4;
}
解读:else if 结构实际上是 if-else 结构的变种:
else if 结构:
if (表达式){
执行操作1;
}else{
if(表达式2){
执行操作2;
}else{
if(表达式3){
执行操作3;
}else{
执行操作4;
}
}
}
知识点:赋值操作符(=)与等于操作符(==),为避免误写,使用等号关系表达式时,将右值放在了等号的左边:2 = = a
switch 体是一个复合语句,包含若干个 case 语句和一个 default 语句,default 语句也可以省略不写。
标准形式:
switch(判断表达式){
case 常量表达式:操作1;
case 常量表达式:操作2;
case 常量表达式:操作3;
…
default:操作n;
}
知识点:在 switch 语句中,遇到 break 便终止执行 switch 语句,跳出本层 switch 体,继续执行后续语句。switch 的选择表达式的值必须是整数,但是效率上比 else if 要高。 如果能使用 switch 语句实现多路选择结构,应该首先使用 switch 语句。
6.3 条件操作符
标准形式:
表达式1?表达式2:表达式3:
执行顺序为:先判断表达式1的布尔值,如果为真,执行表达式2,条件表达式的值为表达式2的值;否则,执行表达式3,条件表达式的值为表达式3的值。
知识点:第2个条件表达式的值类型必须与第三个表达式的值类型相同。如果不同,则需要进行类型转换。
6.4 逻辑表达式的隐式选择
&& 与 ||
- 0 && 0 =0
- 0 && 1 =0
- 1 || 0 =1
- 1 || 1 =1
从以上特性可以得到以下结果:
- 0 && 任意表达式 =0
- 1 || 任意表达式 =1
知识点:逻辑与表达式和逻辑或表达式中的第2个表达式都是不保证被执行的。
7.1 循环结构
- for语句的基本形式:
for (表达式1;表达式2;表达式3){
操作;
}
解读:表达式 1 用做循环结构的初始化,一般为赋值表达式;表达式 2 负责循环条件的判断,一般为关系表达式或逻辑表达式;表达式 3 负责改变表达式 2 中的循环变量的值
知识点: 3个表达式都可以省略,但是中间的分号必须保留。
- while 语句的基本形式:
while (表达式){
操作;
}
- do-while 语句的标准形式:
do{
操作;
}while(表达式);
7.2 continue 语句与 break 语句
用在哪:for 语句、while 语句、do-while 语句
作用: continue 语句的作用是结束本次循环,可改写为 if-else 语句。break 语句的作用是终止本层循环。