顺序结构
java程序默认的执行流程,按照代码的先后顺序,从上到下依次执行
分支结构
if语句
格式一
if (关系表达式){
语句体;
}
注意点:
1.大括号的开头{,可以另起一行书写,但是建议写在第一行的末尾
2.在语句体中,如果只有一句代码,大括号可以省略不写,大括号还是不要省略
例:
if (number > 2)
int a = 100;
//该语句错误,因为int a = 100实质上有两句代码,即定义变量a和对a赋值
3.如果对一个布尔类型的变量进行判断,不要用==,直接把变量写在小括号里即可
格式二
if (关系表达式1){
语句体1;
} else {
语句体2;
}
格式三
if (关系表达式){
语句体1
}else if (关系表达式2){
语句体2
}else if (关系表达式3){
语句体3
}...
else{
语句体n
}
switch语句
格式
switch(表达式){
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
case 值3:
语句体3;
break;
...
default:
语句体n + 1;
break;
}
说明:
- 表达式:即将要匹配的值,取值为byte、short、int、char。JDK5之后可以是枚举,JDK7之后可以是String
- case:后面跟的是和表达式进行比较的值
- break:表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似
- case后面的值只能是字面量,不能是变量
- case给出的值不能重复
switch扩展 :
1.default的位置和省略
位置:可以在任何位置,不一定在末尾,但是记得要加上break
省略:可以省略,但是建议加上
2.case穿透
如果不加 break,就会出现穿透现象
使用场景:
3.JDK新特性:
JDK12之后:
String noodles = "热干面"; switch (noodles){ case "兰州拉面"-> System.out.println("方便面"); case "武汉热干面"-> System.out.println("方便面"); case "北京炸酱面"-> System.out.println("方便面"); case "陕西油泼面"-> System.out.println("方便面"); }
4.switch和if的第三种格式各自的使用场景
if的第三种格式:一般用于对范围的判断
switch:把有限个数据一一列举出来
循环结构
for循环
格式
for (初始化语句;条件判断语句;条件控制语句){
循环语句体;
}
while循环
格式
格式化语句;
while(条件判断语句){
循环体语句;
条件控制语句;
}
for和while的对比
相同点
运行规则都是一样的
不同点
for:知道循环次数或循环的范围
while:不知道循环的次数和范围,只知道循环的结束条件
无限循环
1.
for (;;)
{
语句;
}
2.
while (true)
{
语句;
}
3.
do
{
语句;
} whilie (true)
跳转控制语句
-
continue
跳过本次循环,继续下次循环
-
break
跳过整个循环