一:流程控制语句
1:顺序结构
从上往下依次执行 开始-----》语句一-------》语句二------》结束
2:选择结构 (分支结构)
有特定的语法格式,必须按照语法格式编写代码
两种选择语句:1 if语句 2 switch语句
(1)if语句
<1> 格式1 if(关系表达式){
语句体;
}
执行流程:
首先判断关系表达式看其结果是true还是false
如果是true就执行语句体
如果是false就不执行语句体
<2> 格式2
if语句第二种格式:
if(关系表达式) {
语句体1;
}else {
语句体2;
}
执行流程
首先判断关系表达式看其结果是true还是false
如果是true就执行语句体1
如果是false就执行语句体2
<3> 格式3
if(关系表达式1) {
语句体1;
}else if (关系表达式2) {
语句体2;
}
…
else {
语句体n+1;
}
执行流程
首先判断关系表达式1看其结果是true还是false
如果是true就执行语句体1
如果是false就继续判断关系表达式2看其结果是true还是false
如果是true就执行语句体2
如果是false就继续判断关系表达式…看其结果是true还是false
…
如果没有任何关系表达式为true,就执行语句体n+1
注意:
int y;
if (x >= 3) {
y = 2 * x + 1;
} else if (x >= -1 && x < 3) {
y = 2 * x;
} else if (x <= -1) {
y = 2 * x - 1;
}else {
y = 0;// 如果这里不对y赋值,就会报错,因为若前面的关系表达式全是false,则执行最后的语句,最后语句不对y赋值就会报错
}
(2)switch语句
格式
switch (表达式) {
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
。。。。。
default:
语句体n+1;
break;
}
格式解释:
表达式:byte,short,int,char
JDK5以后可以是枚举
JDK7以后可以是字符串
case:就是要和表达式进行比较的值
break:表示中断,结束的意思。
default:表示所有的情况都不匹配的时候,就执行语句体n+1。和if语句的else相似。
执行流程:
A:计算出表达式的值
B:拿计算出来的值和case后面的值依次比较,一旦有对应的值,就执行该处的语句,在执行过程中,遇到 break,就结束 C:如果所有的case都不匹配,就会执行default控制的语句,然后结束。
二:循环结构
组成:1:初始化语句 一条或多条语句,完成初始化操作
2:判断条件语句 一个boolean类型表达式,决定是否执行循环体
3: 循环体语句 多次做的事情
4: 控制条件语句 再一次循环后,下一次循环判断条件之前执行,通过用于控制循环条件中的变量,使循环在合适 的时间结束。
<1> for循环
格式 : for(初始化语句;判断条件语句;控制条件语句){循环体语句;}
执行流程:1:执行初始化语句
2:执行判断条件语句 true or false
若false,就结束循环
若true,就继续执行循环
3:执行循环体语句
4:执行控制条件语句
5:回到第二步继续
<2> while循环
格式 :初始化语句
while(判断条件语句){循环体语句;控制条件语句;}
执行流程:1:执行初始化语句
2:执行判断条件语句 true or false
若false,就结束循环
若true,就继续执行循环
3:执行循环体语句
4:执行控制条件语句
5:回到第二步继续
<3> do--while循环
格式: 初始化语句;
do{循环体语句;控制条件语句;}while(判断条件语句);
执行流程:1 : 执行初始化语句
2 : 执行循环体语句
3: 执行控制条件语句
4: 执行判断条件语句 若为false,结束语句。 若为true,回到第二部继续
注意 : 一定不要忘了while后的分号;
<4> 三种循环区别
A:do--while循环至少执行一次循环
B:for和while续保还必须判断条件成立,才能执行循环
C:for结束后初始化变量就不能使用,而while结束后初始化变量能使用
三:跳转控制语句
break 中断
continue 继续
<1> break 中断
使用场景:1:switch 2:循环中
注意:离开使用场景无效
作用:用于结束循环,退出整个循环
<2> continue 继续
使用场景:循环中
注意:离开使用场景无效
作用:结束一次循环,继续下一次循环