第五章 流程控制

一、Java语句

以”;”作分隔符,编译后产生机器指令

Java语句分类:

1.表达式语句:表达式加分号构成

          例:total=total+limit;

                   a=3;

表达式:由算法、操作数和运算符组成的就是表达式,可以没有运算符(由变量和运算符组成的一个算式)

2.空语句

例:    ;

3.复合语句:用{}括起来的一组语句

一般形式:{ [数据说明部分;] 

                     执行语句部分;

                  }

说明:“}”后不加分号,复合语句定义的变量在复合语句外不能使用

          语法上和单一语句相同

          可以嵌套

4.流程控制语句

顺序语句

分支语句

循环语句

二、if语句

if语句注意问题:

(1)if关键字之后“()”里的表达式必须是布尔类型的表达式

(2)如果要想在满足条件时执行一组(多条)语句,则必须把这一组语句用{}括起来组成一个复合语句,但是注意的是在}之后不能再加分号

if-else配对原则:

如果缺省{},else语句总是与它前面的最近的未配对的if配对,加了{}就可以正确配对

if-else语句在执行的时候一定会执行其中一条语句

  if语句可以单独出现,else语句不能单独出现

三、switch语句

一般形式:

switch(表达式)

{

  case常量表达式1:

                                 语句1

                                  break;

          …………

  case常量表达式n:

                                 语句n

                                  break;

    default: 

                         语句n+1

}

switch后面的小括号里面的表达式和case后面的常量表达式相等,且必须是整型和字符型

说明:

1.switch后只能是(char、byte、int、short和jdk1.8之后的String类型)(如果有六个空还可以答枚举类型)

2.E1,E2,……,En是常量表达式,且值必须互不相同

3.可以多个case可共用一组执行语句(没有break的话默认全部执行)

4.case后可包含多条语句,且不必加{}

5.语句标号作用,通常用break跳出

6.可嵌套

注:当所有的case语句都不执行的时候,执行default语句

四、while语句

一般形式:

while(表达式)

         语句

其中表达式为循环条件,语句为循环体

33cbb21f603547c7b1618b029ae42375.png

特点:先判断表达式,后执行循环体语句

说明:

1.循环体如包括多条语句,需用{}括起来;如不加{},则while语句只执行紧跟它后面的一条语句

2.循环体中应该有使循环趋于结束的语句,否则将造成死循环

3.循环体有可能一次也不执行

4.下列情况,退出while循环

条件表达式不成立

循环体内遇break、return

5.无限循环:又叫死循环

while(true)

         循环体语句或语句块

编译器直接知道这是死循环所以后面不能写代码,因为永远执行不到

五、do-while语句

一般形式:

do

    循环体语句

while(表达式);

b6213e00bf0342dba0f96a205526665b.png

特点:先执行循环体,后判断表达式(因为先执行循环体,后判断表达式,所以循环体语句至少执行一次)

说明:

1.至少执行一次循环体

2.do-while可转化成while结构

六、for语句

一般形式:

for(表达式1;表达式2;表达式3){

循环体语句块4

}

399ee480192541289eddec5354dcd3dc.png

说明:

1.使用最为灵活

2.完全可以取代while语句

3.   1,2,4,3

           2,4,3

           2,4,3

           …………

4.表达式1只执行一次

(1)先执行“表达式1”,只在初始化时执行一次

(2)再执行“表达式2”,如果它的值为真(非0),则执行循环体,否则结束循环

(3)执行完循环体后,再执行“表达式3”

(4)重复执行步骤2和3,直到“表达式2”的值为假,就结束循环

for循环要执行多条语句的时候,需要使用大括号括起来

使用方法:

1.for循环中的“表达式1(循环变量赋初值)”、“表达式2(循环条件)”和“表达式3(循环变量增量)”都是可选项,可以缺省,但“;”不能缺省

2.省略了“表达式1(循环变量赋初值)”,表示不对循环控制变量赋初值

3.省略了“表达式2(循环条件)”,则不做其他处理时便成为死循环

七、三种循环语句的比较

1.三种循环都可以用来处理同一问题,一般情况下可以相互取代

2.while和do…while循环,只在while后面指定循环条件,在循环体中应包含时循环趋于结束的语句

3.while和do…while语句控制循环的变量应该在进入循环语句之前初始化,而for语句一般在表达式1中进行初始化,当然也可以在进入循环语句之前初始化

八、for-each语句

一般形式:

for(表达式1:表达式2)

       语句块3

说明:

1.表达式2为集合变量(数组、List…)

2.表达式1为表达式2中元素同类型的局部变量

3.特殊的for循环,不需要知道集合中的总数

循环的嵌套:

1.三种循环可互相嵌套

2.外层循环可包含两个以上内循环,但不能相互交叉

注:如果循环体内存在逻辑判断,并且循环次数很大,宜将逻辑判断移到循环体的外面

九、break和continue的比较

在switch条件语句和循环语句中都可以使用break语句,当它出现在switch条件语句中,作用是终止某个case并跳出switch结构,当它出现在循环语句中,作用是跳出循环语句,执行循环后的代码

continue语句用在循环语句中,它的作用是终止本次循环

break跳出本层循环,可以结束

continue跳出本次循环

break只能结束离它最近的循环

如果if-else在循环体中就可以使用,break语句和continue语句跳出整体循环和继续下一轮循环

如果if-else不在循环体中,则不能使用break,continue,但是又想不继续执行下去的话,可以使用return结束

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值