控制选择结构语句
-
控制选择结构语句包含流程控制语句if和if....else以及switch.对应的语句的语法通常为:
if结构语句:
if(boolean表达式){
执行语句;}
if....else结构语句:
if(boolean表达式){
执行语句;}
else{
另一执行语句; }
参考例图运行结果我们,可以知道在if语句中,满足才会执行,否则什么都不做。而在if....else语句中,必然会有结果执行,原因是因为else{}表示的就是除if外的其他任何存在可能,所以必有执行。
-
if和if....else,在单一的基础上也可以混合多个if循环,例如下面语句:
if结构语句混合多个if(或者else if):
if(boolean表达式){
执行语句;}
if(boolean表达式){
执行语句;}
if(boolean表达式){
执行语句;}
if....else结构语句混合多个if(或者else if)
if(boolean表达式){
执行语句;}
else if(boolean表达式){
执行语句;}
else if(boolean表达式){
执行语句;}
else{
执行语句;}
-
if执行流程问题,在if语句执行流程中我们需要进行简单的两种理解
第一类:独立if语句
if{执行语句;}
if{执行语句;}
if{执行语句;}
第二类:嵌套if语句
if{执行语句;}
else if{执行语句;}
else if{执行语句;}
在独立的if语句中,它的执行流程是每个if都会进行判断,嵌套if语句执行流程为满足一个条件后就会跳出整个if结构。具体参考下图。
-
switch语句,一下为标准switch语句结构,
switch(参数类型)
case 参数类型 : 执行语句;break;
...
case 参数类型 : 执行语句;break;
default : 执行语句;break;
一般情况default的break我们都省略了,因为default是放在最后的。
此外case也可以合并,例如:
case 参数类型 :
case 参数类型 :
执行语句;break;
参数值类型必须是这几种类型之一:int,byte,char,short。你可以通过反编译查看你的源码,你会发现jvm类switch(int类型) 。由于 byte,char,short会自动转换为int类型所以我们可以使用byte,char,short类型。
其次,说说switch的执行流程,首先先执行case匹配的语句,如果执行语句后面有break,那么就跳出Switch语句结构,如果没有break,那么他将向下继续执行,直到遇到break或者执行到介素。具体参考下面这个例子。
END
控制循环结构语句
-
控制循环结构语句包含流程控制语句for和while以及do....whlie.对应的for语句的语法通常为:
for(表达式1;表达式2;表达式3){
执行语句;
}
首先我们说说参数问题,表达式1我们称作为初始表达式,也就是最先执行。表达式2为boolean表达式。
例如我们的的一个实例;
for(int i=1;i<3;i++){
执行语句;
}
然后说说for执行流程,for循环中首先执行表达式1:初始化i的值int i=1;然后执行表达式2,进行判断,如果为假就跳出for(结束for循环),如果为真执行执行语句,然后执行表达式3,然后继续执行表达式2,再次判断,真执行执行语句,然后接着执行表达式3;否则就结束循环
下面给一个例子,给大家参考。
-
while语句的语法通常为
while(boolean表达式){
执行语句;
}
whlie循环和for循环类似的,相比较于for循环,while 循环我们可以这样理解,表达式1在while之前,表达式2为while的boolean表达式,然后表达式三通常在while内;例如
int i=3;
while(i<5){
执行语句;
i++;
}
值得注意的是while 容易造成死循环,所以一定要当心,想对于while循环,do while循环 首先执行do里面的语句,再去做while循环。
例如:
do{
执行语句1;
}while(boolean表达式);
do是必然执行的,且最先执行,然后再执行whlie循环。
可以参考下图:
END
控制改变语句
-
控制改变语句主要由两大类continue和break;在switch内我们已经接触到过break;语句了,就是跳出整个循环,而continue;则是跳出这次循环,继续接下来的。举个例子给大家看看;如果一个for那么下面输出的结果是一致的。
for (int i = 0; i < 3; i++) {
if (i == 1) {
System.out.println("break: " + i);
}
System.out.println("break: " + i);
}
和
for (int i = 0; i < 3; i++) {
if (i == 1) {
System.out.println("continue: " + i);
}
System.out.println("continue: " + i);
}