流程控制语句
1.语句
流程控制语句:可以控制程序的执行流程。
流程控制语句的分类: 顺序结构、选择结构、循环结构
* if语句的格式:
if(比较表达式1) {
语句体1;
}else if(比较表达式2) {
语句体2;
}else if(比较表达式3) {
语句体3;
}
...
else {
语句体n+1;
}
执行流程:
* 首先计算比较表达式1看其返回值是true还是false,
* 如果是true,就执行语句体1,if语句结束。
* 如果是false,接着计算比较表达式2看其返回值是true还是false,
* 如果是true,就执行语句体2,if语句结束。
* 如果是false,接着计算比较表达式3看其返回值是true还是false,
* 如果都是false,就执行语句体n+1。
注意事项:最后一个else可以省略,但是建议不要省略,可以对范围外的错误值提示
* switch语句的格式:
switch(表达式) {
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
…
default:
语句体n+1;
break;
}
* B:switch语句的格式解释
* C:面试题
* byte可以作为switch的表达式吗?
byte的存储范围小于int,可以向int类型进行隐式转换,所以switch可以作用在byte上
* long可以作为switch的表达式吗?
long的存储范围大于int,不能向int进行隐式转换,只能强制转换,所以switch不可以作用在long上
* String可以作为switch的表达式吗?
string在1.7版本之前不可以,1.7版本之后switch就可以作用在string上了。
* C:执行流程
* 先计算表达式的值
* 然后和case后面的匹配,如果有就执行对应的语句,否则执行default控制的语句
* 循环结构for语句的格式:
for(初始化表达式;条件表达式;循环后的操作表达式) {
循环体;
}
执行流程:
a:执行初始化语句
b:执行判断条件语句,看其返回值是true还是false
如果是true,就继续执行
如果是false,就结束循环
c:执行循环体语句;
d:执行循环后的操作表达式
e:回到B继续。
* 循环结构while语句的格式:
while循环的基
本格式:
while(判断条件语句) {
循环体语句;
}
完整格式:
初始化语句;
while(判断条件语句) {
循环体语句;
控制条件语句;
}
执行流程:
a:执行初始化语句
b:执行判断条件语句,看其返回值是true还是false
如果是true,就继续执行
如果是false,就结束循环
c:执行循环体语句;
d:执行控制条件语句
e:回到B继续。
* 循环结构do...while语句的格式:
do {
循环体语句;
}while(判断条件语句);
完整格式;
初始化语句;
do {
循环体语句;
控制条件语句;
}while(判断条件语句);
执行流程:
a:执行初始化语句
b:执行循环体语句;
c:执行控制条件语句
d:执行判断条件语句,看其返回值是true还是false
如果是true,就继续执行
如果是false,就结束循环
e:回到b继续。
三种循环语句的区别:
do...while循环至少执行一次循环体
而for,while循环是先判断条件是否成立,然后再决定是否执行循环体。
死循环:当条件一直满足时,此时循环就会一直执行。
while(true){...}
for(;;){...}
if与switch的异同点
相同点:都是分支语句
不同点:switch只能做等值判断,而if可以做区间的判断
能用if的地方一定可以使用switch替换 不一定
能用switch的地方一定可以用if替换 一定
2.控制跳转语句
break(只能在switch和循环中):跳出循环
continue(只能在循环中):结束本次循环继续下次循环
return;结束方法
循环控制题:
打印星星:外层循环控制行数,内循环控制列数。