A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始


Day03(流程控语句)

2018年1月17日

8:48

流程控制语句

分类:

顺序结构

选择结构

循环结构



顺序结构

从上往下,依次执行


选择结构(也称分支结构)

if语句(三种格式)

格式1:

if(关系表达式){  //(只要结构是boolean类型的结果就可以,也可以是boolean类型的常量)

语句体;

}


执行流程:

A:首先计算关系表达式,看是true还是false

B:如果是true,就执行语句体

C:如果是false,就不执行语句体


注意:如果if语句体只有一行代码可以省略大括号


格式2:

if(关系表达式){

语句体1;

}else{

语句体2;

}


执行流程

A:首先计算关系表达式的值。看是teue还是false

B:如果是true,执行语句体1

C:如果是false,执行语句体2



格式3:

if(关系表达式1){

语句体1;

}else if(关系表达式2){

语句体2;

}

...

else {

语句体n+1;

}


执行流程:

A:计算关系表达式1的值,看是true还是false

B:如果是true,就执行语句体1

C:如果是false,就继续计算关系表达式2的值,看是true还是false

D:如果是true,就执行语句体2

E:如果是false,就继续计算关系表达式3...的值,看是true还是false

F:当所有的关系表达式都是false时,就执行语句体n+1


注意:

代码分为两个时期:编译时期和运行时期

在未执行代码时,计算机只能从格式判断代码的对错


若范围重叠,只执行满足条件的第一个语句,后面条件就算满足也不执行


多条件时,建议使用if语句格式3,因为格式3的执行效率高


将大的问题简单化


switch语句:

格式:

Switch(表达式) {

case值1:

语句体1;

break;

case值2:

语句体2;

break;

...

default:

语句体n+1;

break;

}


格式解释:

表达式:byte,short,int, char

JDK5以后可以枚举

JDK7以后可以是字符串

case后面的值:就是用来和表达式的值进行匹配的内容

break:表示中断的意思

default:所有值都不匹配时,就执行default


执行流程:

A:首先计算表达式的值

B:拿计算出来的值,依次和case后面的值进行比较,一旦有匹配的,就执行对应的语句体,在执行过程中,遇到break就结束

C:如果所有的case值都不匹配,就执行语句体n+1


注意:

表达式计算后的值都是较小的数字

case后不能为变量


如果没有break,case会穿透,不会匹配,直到执行到下一个break


switch语句中的default语句可以放在任何位置,放在最后break可以省略不写



循环结构语句

java提供三种循环语句

for循环语句

格式:

for(初始化语句;判断条件语句;控制条件) {

循环体语句;

}


执行流程:

A:执行初始化语句

B:执行判断语句,看其结果是true还是false

如果是false,就结束循环

如果是true,就继续执行

:执行循环体语句

D:执行控制条件语句

E:回到B继续


初始化语句中的统计变量只执行一次


for循环最少执行0次


变异体:

int i = 1;

for(;i<=10;) {

System.out.println("HelloWorld");

i++;

}



for(int x=1; true; x++) {

}

  
System.out.println(x);  //会报错
  
  
因为这句代码前面是死循环,它不可能被执行
  



死循环应用:一般的应用程序会用到死循环,外围是用死循环包裹起来的




如果想打印最终结果,就在for循环外边

如果跟踪变量变化情况时,输出就写在for循环里


while循环

格式:

while(判断条件语句) {

循环语句;

}


扩展格式:

初始化语句;

while(判断语句) {

循环语句;

控制条件语句;

}



while循环的高级用法

语句的跳转,跳转到之前的某一位置



do…while循环

格式

do {

循环体语句;

}while(判断条件语句);



扩展格式

初始化语句;

do {

循环体语句;

控制条件语句;

while(判断条件语句);



执行流程:

A:执行初始化语句

B:执行循环体语句

C:执行控制条件语句

D:执行判断条件语句,看是true还是false

如果是false,就结束循环

如果是true,回到B继续


注意:

do…while循环最少执行一次


三种循环的区别

A:do...while循环至少执行一次循环体

B:for和while循环必须判断条件成立才可以执行循环体


for循环和while循环区别

for循环结束后,初始化的变量就不能被使用了,而while循环结束后,初始化的变量还可以继续使用。


知道循环次数用for,不知道循环次数用while



关键字break, continue

break:中断的意思

使用场景

A:switch语句中

B:循环中


注意:

离开使用场景没有意义

用来结束整个循环的


continue:继续的意思

使用场景

循环中

作用:结束这一轮循环,继续下一次循环

注意:

离开使用场景没有意义


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马