逻辑控制语句
顺序结构
按照代码书写顺序一行一行执行
System.out.println("aaa");
System.out.println("bbb");
System.out.println("ccc");
// 运行结果
aaa
bbb
ccc
分支结构
if语句
语法格式、结构同C语言
语法格式
if(布尔表达式){
//语句
}
if(布尔表达式){
//语句1
}else{
//语句2
}
if(布尔表达式){
//statements1
}else if(表达式2){
//statements2
}else{
//statements3
}
注意事项:
代码紧凑:if / else 同一行
分号问题:
int x =20;
if(x==10); // ; if 语句为空语句 ;
{
System.out.println("hehe"); //语句执行
}
/** 等同于
if(x==10)
;
{
System.out.println("hehe");
}
*/
悬垂else问题(c语言else悬挂)
switch语句
基本语法
同C语言
switch(表达式){
case 常量值1:{
statements1;
[break;]
}
case 常量值2:{
statements3;
[break;]
}
...
default:{
//内容都不满足式执行语句
[break;]
}
}
执行流程:
先计算表达式的值;
和case依次比较,一旦有响应的匹配就执行该项下的语句,直到遇到break时结束
当表达式的值没有与之所列项匹配时,执行default
注意事项
- 多个case后的常量值不可以重复
- switch的括号内只能是一下类型的表达式:
- 基本类型:byte , char , short , int ,注意不能是long类型
- 引用类型:String常量串,枚举类型
- break不要遗漏,否则会失去“多分支选择”的效果
- switch不能表达复杂的条件
- 支持嵌套(但是不推荐,不美观!)
循环结构
while循环
基本语法
同C语言
while(循环条件){
循环语句;
}
循环条件为true,执行循环语句;否则结束循环
注意事项
不写 { } 时,只支持一条语句;(推荐加上 { } )
同if,分号问题
break
提前结束循环;
执行到break就会让循环结束
countinue
跳过本次循环,立即进入下次循环
执行到continue语句时,会立刻进入下次循环,从而也不会执行continue语句下的其他语句
for循环
基本语法
for(表达式1;布尔表达式;表达式2){
循环语句;
}
表达式1:用于初始化循环变量初始值设置,在循环开始时执行,且只执行一次
布尔表达式:循环条件,满足则循环继续,否则循环结束
表达式2:循环变量更新方式
注意事项
- { }问题:最好加上
- 分号问题:
- continue 与 break的使用
do while循环
基本语法
do{
循环语句;
}while(循环条件);
先执行循环语句,在判定循环条件,循环条件成立则继续执行,否则循环结束
注意执行
- do while 循环最后的分号不要忘记
- 一般 do while 很少用到,推荐 for 和 while
最难不过坚持!