1、顺序结构:程序从上到下逐行执行,中间没有任何判断和跳转。
2、判断结构:
1)、格式一:
①
if (条件表达式) {
②
}
③
执行流程:先执行 ①,遇到if就执行条件表达式,如果为真则执行②,执行完后出去执行③;如果if的条件表达式为假,那么直接执行③;
2)、格式二:
①
if (条件表达式) {
②
} else {
③
}
④
执行流程:先执行①,遇到if就执行条件表达式,如果为真则执行②,如果为假则执行③,然后执行④;
3)、格式三:
①
if (条件表达式1) {
②
} else if (条件表达式2) {
③
} else if (条件表达式3) {
④
} else if (条件表达式n) {
⑤
} else {
⑥
}
⑦
执行流程:先执行①,遇到if依次对条件表达式进行判断,哪个分支条件成立,就去执行哪个分支的语句,执行完后跳出去执行⑦;如果所有条件表达式都为假,那么就执行⑥,执行完后再去执行⑦;
3、选择结构:
格式:
switch (表达式) {
case 值1:
语句块1
break;
case 值2:
语句块2
break;
...
case 值n:
语句块n
break;
default:
语句块m
break;
}
注意事项:
1)、switch结构小括号中表达式的结果类型只能是以下6中类型之一:byte、short、char、int、枚举(jdk1.5)、String(jdk1.7);
2)、绝大多数情况下,每个case的最后位置都需要显示的定义break关键字,防止case穿透现象,有一些特殊需求会用到穿透现象;
3)、语法层面:default结构是可有可无的,并且位置可以是随意的使用层面,不管你把它放在什么位置,它都是最后执行,规范来说一般default几乎都会被定义,并且只会被定义在最后位置;
4)、default结构是最后才有可能被执行到;
4、循环结构:
格式一:
for (①; ②; ③) {
④
}
执行流程:遇到for,执行初始化语句①,然后执行②进行条件判断,如果为真则执行④,最后执行③进行步增或者步减操作,然后循环②->④->③,只到某一次执行②时条件判断为假则结束for循环;
格式二:
①
while (②){
④
③
}
执行流程:先执行①初始化代码,遇到while就进行②进行条件判断,如果为真就执行④,然后执行③进行步增或者步减,然后循环②->④->③,只到某一次执行②时条件判断为假则结束while循环;
格式三:
①
do {
④
③
} while (②);
执行流程:先执行①初始化代码,遇到do就进去执行④,然后执行③进行步增或步减,然后遇到while则执行②进行条件判断,如果为真就执行④,然后执行③进行步增或者步减,然后循环然后循环②->④->③,只到某一次执行②时条件判断为假则结束do-while循环;
注意事项:while和do-while区别
while循环:
执行完毕初始化条件后,直接执行循环条件,此时如果首次循环条件的执行结果就为false,
则一次循环体和迭代都不会被执行;
dowhile循环:
执行完毕初始化条件后,由于dowhile循环的格式比较特殊,会立即进入到大括号中先进行一次循环体和迭代条件的执行,再进行循环条件的判断,即使首次循环条件的执行结果就为false,程序也执行过了一次循环体和迭代了;
总结:
do-while循环至少会执行一次循环体和迭代。由于do-while循环的特点反而造就了它使用频率较低,但是有些特殊情况确实会用到至少执行一次的这个特点。
本电子书目录:《Java基础的重点知识点全集》