流程控制
复合语句
if条件语句
if条件语句分为if条件语句、if…else语句和if…else if多分支语句。
if条件语句可以嵌套
if (布尔表达式){
语句序列
}
if (布尔表达式){
语句序列
}
else {
语句序列
}
if (布尔表达式1){
语句序列1
}
else if(布尔表达式2){
语句序列2
}
...
else if(布尔表达式n){
语句序列n
}
switch多分支语句
以一个简单明了的方式实现”多选一“。
switch(表达式){ //表达式的值必须为整型、字符型、字符串型或者枚举型。
case 常量值1: //常量值1-n必须与表达式类型一致
语句块1
[break;]
...
case 常量值n:
语句块n
[break;]
default :
语句块n+1
[break;]
}
为了简化代码,java14提供了一个新特性
String result = switch (grade){
case 10,9 -> "成绩为优";
case 8 ->"成绩为良";
case 7,6 ->"成绩为中";
case 5,4,3,2,1,0->"成绩为差";
default -> "成绩无效";
};
while循环语句
结尾处没有分号!
while(表达式){
语句序列
}
do…while循环语句
do{
语句序列
}while(条件表达式);
for 循环语句
先判断表达式2,然后循环并执行表达式3.
for(表达式1;表达式2;表达式3){ // 表达式1初始化表达式;表达式2 循环条件表达式;表达式3 循环结束后执行的语句
语句序列
}
foreach是for语句的简化版本
for(元素类型 x : 遍历对象 obj){
引用了x的java语句;
}
示例
for(int x:arr){
System.out.println(x);
}
嵌套循环
while, do…while, for 循环可以相互嵌套
循环控制
- break: 只挑出最内层的循环
//java提供了标签功能,从而可以跳出指定循环体
标签名: 循环体{
break 标签名;
}
// 示例
Loop:for (int i=1;i<=3;i++){
for(int j=1;j<=5;j++){
if (j==4){
break Loop;
}
}
}
- continue:跳过本次循环
// 同break支持标签功能
标签名:循环体{
continue 标签名;
}