控制结构
顺序控制
- 程序从上到下逐行地执行,中间没有任何判断和跳转
- Java中定义变量时采用合法的向前引用
分支控制
-
单分支
-
if(条件表达式){
执行代码块;(可以有多条语句)
}
-
-
双分支
-
if(条件表达式){
执行代码块1;
}else{
执行代码块2;
}
-
-
多分支
-
if(条件表达式){
执行代码块1;
}else if(条件表达式2){
执行代码块2;
}…
else{
执行代码块n;
}
-
多分支可以没有else,如果所有的条件表达式都不成立,则一个执行入口都没有
-
如果有else,如果所有的条件表达式都不成立,则默认执行else代码块
-
-
嵌套分支
-
在一个分支结构中又完整的嵌套了另一个完整的分支结构,里面的分支的结构称为内层分支,规范:不要超过3层(可读性不好)
-
if(){
if(){
}else{
}
}
-
-
switch分支结构
-
switch(表达式){
-
case 常量1:
语块1;
break;
case 常量2:
语块2;
break;
default:
语句块;
break;
}
-
细节讨论:
- 表达式数据类型,应和case后的常量类型一致,或者是可以自动转成可以相互比较的类型,比如输入的是字符,而常量是int
- switch(表达式)中的表达式的返回值必须是:(byte,short,int,char,enum,String)
- case子句中的值必须是常量,而不能是变量
- default子句是可选的,当没有匹配的case时,执行default
-
-
for循环:
-
for(循环变量初始化;循环条件;循环变量的迭代){
循环操作(可以多条语句);
}
-
循环条件是返回一个布尔值的表达式
-
循环初始值可以有多条初始化语句,但要求类型一样,并且中间用逗号隔开
-
-
while循环:
-
while(循环条件){
循环体(语句);
循环变量迭代;
}
-
循环条件时返回一个布尔值的表达式
-
while循环时先判断再执行语句
-
-
dowhile循环:
-
do{
循环体(语句);
循环变量迭代;
}while(循环条件);
-
先执行再判断,至少执行一次
-
-
break:
- break语句用于终止莫个语句块的执行,一般使用在switch或者循环中
- break语句出现在多层嵌套的语句块中时,可以通过标签指明要终止的是那一层语句块
- 如果没有指定break,默认退出最近的循环体
-
continue:
- 用于结束本次循环,继续执行下一次循环
- continue语句出现在多层嵌套的循环语句体中时,可以通过标签指明要跳出的时哪一层循环
-
return:
- return使用在方法,表示跳出所在的方法。如果return写在main方法,退出程序