流程控制语句

 

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;结束方法

 

 

循环控制题:

打印星星:外层循环控制行数,内循环控制列数。

 

 

 

 

10-04 19:47