控制语句:选择结构—if ,if ...else;switch
循环结构—for;while;do....while()
控制循环语句—break;continue
if 语句属于选择结构,又称为分支语句/条件控制语句:
语法结构:四种编写方式
第一种:if {布尔表达式}{
Java语句;
Java语句;
....
}
第二种:if {布尔表达式}{
Java语句;
Java语句;
...
}else{
Java语句;
Java语句;
...
}
第三种:if {布尔表达式}{
Java语句;
Java语句;
...
}else if{布尔表达式}{
Java语句;
Java语句;
...
}else if{布尔表达式}{
Java语句;
Java语句;
...
}....
第四种:if {布尔表达式}{
Java语句;
Java语句;
...
}else if{布尔表达式}{
Java语句;
Java语句;
...
}else if{布尔表达式}{
Java语句;
Java语句;
...
}else{
Java语句;
Java语句;
...
}
重点:对于Java语句中的if语句来说,只要有一个分支执行,当前整个if语句全部结束。
注意:以上的第二种和第四种编写方式都带有else分支,一定会有分支执行。
所有的控制语句都是可以嵌套使用的,只要合理嵌套就行。【注意格式的缩进】
if语句的分支中只有一条Java语句的话,大括号可以省略不写。
Switch语句:
1、switch语句也属于选择结构,也是分支语句。
2、语法结构:
switch(int或String类型的字面值或变量){
case int或String类型的字面值或变量;
Java语句;
...
break;
case int或String类型的字面值或变量;
Java语句;
...
break;
case int或String类型的字面值或变量;
Java语句;
...
break;
......
default ;
java 语句;
......
}
3、Switch语句的执行原理:Switch后面小括号当中的“数据”和case后面的“数据”进行一一匹配,匹配成功的分支执行。
按照自上而下的顺序一次匹配。
4、匹配成功的分支执行,分支当中最后有“break;”语句的话,整个Switch语句终止。
5、匹配成功的分支执行,分支当中没有“break;”语句的话,直接进入下一个分支语句(不进行匹配),
这种现象被称为case穿透现象。【提供break;可以避免穿透】
6、所有分支都没有匹配成功,当有default的语句,会执行default分支当中的程序。
7、Switch后面和case后面只能是int或者String类型的数据,不能是其他数据类型。
byte、short、char也可以直接写到Switch后面和case后面,因为byte、short、char可进行自动类型转换【int类型】。
JDK6的,Switch后面和case后面只能是int类型的数据。
JDK7之后包括7版本在内,Switch后面和case后面可以探测int或者String类型的数据。
8、case可以合并。
int i = 10;
switch(i){
case1;case2;case3;...;case10;
System.out.println("Test Code!");
}
for循环:
1、循环结构:
在程序中,将需要反复执行的代码片段当到“循环体”中。
2、循环包括:for、while、do....while。
3、语法结构:
for (初始化表达式 ; 布尔表达式 ;更新表达式){
//是需要重复执行的代码片段【循环体:由Java语句构成】
}
4、执行过程/执行原理:
初始化表达式、布尔表达式、更新表达式都不是必须的!【但是两个分号是必须的】
初始化最先执行,并且在整个for循环中只执行一次
布尔表达式必须是true/false,不能是其他值。
for的执行过程:
先执行初始化表达式,并且只执行一次;
判断布尔表达式的结果是true还是false
布尔表达式为true
执行循环体
更新表达式
判断布尔表达式的结果是true还是false
布尔表达式为true
执行循环体
更新表达式
.........
布尔表达式为false
循环结束
布尔表达式为false
循环结束
5、for循环当中的“i”变量的作用域是仅限于当前for循环内部使用。若将初始化表达式放在循环体外,那么“i”变量的作用域可以在当前for循环外部使用。
6、更新表达式,可单独放在循环体{}中,位置不限。
7、循环语句for和条件判断语句if可嵌套使用。
8、for循环嵌套for循环中,内层循环中的变量名和外层循环中的变量名不能重名。先运行里面的for循环,再循环外面的for循环。
while循环:
1、while循环的语法结构:
while(布尔表达式){
循环体;
}
2、while循环的执行原理:
先判断布尔表达式的结果:
*true
-循环体执行
*判断布尔表达式的结果
*true
-循环体执行
*判断布尔表达式的结果
........
*false
-循环结束
*false
-循环结束
3、while循环的循环次数:
0-N次
注意:while循环的循环体可能执行次数为0次。
Do...While循环:
1、语法结构:
do{
循环体;
}while{布尔表达式};
2、执行原理:
3、执行次数:do...while循环的循环体代码片段执行次数是:1-N次【至少一次】
4、注意事项: do...while循环语句最终有一个“分号”。
break语句:
1、break是Java语言中的关键字,终止/中断
2、break + “;”可以成为一个单独的完整的Java语句:break;
3、break语句使用在switch语句当中,用来终止switch语句执行。
4、break语句同样在循环语句当中,用来终止循环的执行。
5、break;语句使用在for,while,do...while循环语句当中用来跳出循环,终止循环的执行。因为当程序循环到某个条件时,后续的循环没必要执行了,再执行也是耗费资源,所以可以终止循环,这样可以提高程序的执行效率
6、默认情况下break终止的是离他最近的循环。也可指定终止某个循环,需要给循环起名,采用这种语法:break 循环名称;
continue语句:
1、continue表示:继续/go on /下一个
2、continue 也是一个continue关键字加一个分号构成单独完整的Java语句,主要出现
循环语句当中用来控制循环的执行。
3、break和continue的区别:
break表示循环不执行,终止循环;continue表示终止当前本次循环,直接进入下一次循环继续执行。