流程控制语句
- 流程控制三种基本结构:
- 顺序结构
- 选择结构
- 循环结构
选择结构
分支语句
- if 语句
- if 单选择结构
if(布尔表达式){
//如果布尔表达式为true将执行的语句
}
- if 双选择结构
if(布尔表达式){
//如果布尔表达式为true将执行的语句
}else{
//如果布尔表达式为false将执行的语句
}
- if 多选择语句
if(布尔表达式1){
//如果布尔表达式1为true将执行的语句
}else if(布尔表达式2){
//如果布尔表达式2为true将执行的语句
}else if(布尔表达式3){
//如果布尔表达式3为true将执行的语句
}else{
//如果以上布尔表达式都不为true执行代码
}
- if 嵌套结构
if(布尔表达式1){
//如果布尔表达式1为true将执行的语句
if(布尔表达式2){
//如果布尔表达式2为true将执行的语句
}
}
-
switch语句
switch(表达式){ case 常量值1: 语句块1; break; ...... case 常量值n: 语句块n; break; default: 语句块n+1; break; }
- break:用于结束分支语句。如果在某一个case语句块中没有break,那么程序将会继续往下执行,直到遇到break为止
- dufault语句块:当表达式的值与常量值都无法匹配时就执行该语句块
-
分支语句到底使用if还是switch,要根据条件表达式的值来决定:
如果条件表达式的值为boolean型,选用if语句;
如果条件表达式的值为数值型(byte、short、char、int),则选用switch语句(Java SE 7开始可支持String类型)
循环结构
-
while循环
while(布尔表达式){ //循环内容 }
- 只要布尔表达式为true,循环就会一直执行下去
- 我们大多数情况是会让循环停止下来的,我们需要一个让表达式失效的方法来结束循环
- 循环条件一直为true就会造成无限循环(死循环),我们应尽量避免死循环,会影响程序性能或者造成程序卡死崩溃
- 对于while语句而言,如果不满足条件,则不能进入循环
-
do…while循环
do{ //代码语句 }while(布尔表达式);
- 即使不满足条件,也至少执行一次
while和do…while的区别:
- while先判断后执行。do…while是先执行后判断。
- do…while总是保证循环体会被至少执行一次(最主要差别)
-
for循环
for(初始化;布尔表达式;更新){ //代码语句 }
- for循环语句是支持迭代的一种通用结构,是最有效、最灵活的循环结构
- for循环执行的次数是在执行前就确定的
-
增强for循环
for(声明语句 : 表达式){ //代码句子 }
- 声明语句:声明新的局部变量,该变量类型必须和数组元素的类型匹配
- 表达式:要访问的数组名,或是返回值为数组的方法
- 增强型for循环主要用于数组或集合
break/continue/return
-
break
- 使用break语句可以终止switch语句或循环语句的执行
- break语句和标签(lable)的结合可以用来知道从多个嵌套循环的某个循环中跳出
-
continue
- continue语句用来略过循环中剩下的语句,重新开始新的循环,这和break语句的完全跳出循环是不一样的
- continue仅仅出现在while / do…while / for语句的子语句块中
- 也可使用和标签结合的方式来选择需要终止的嵌套循环的层次
-
return
-
return语句的作用是退出方法
-
return语句有两种:
return 返回值;
return;
-
不可达代码
编译器认为return语句之后不可能被执行的代码叫不可达代码
不可达代码会在编译时报错
-