java回忆录—流程控制

在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的。

也就是说程序的流程对运行结果有直接的影响。

所以,我们必须清楚每条语句的执行流程。

而且,很多时候我们要通过控制语句的执行顺序来实现我们要完成的功能。

顺序结构

程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的。

总的来说:写在前面的先执行,写在后面的后执行。、

选择结构(分支结构)

选择结构有特定的语法规则,代码要执行具体的逻辑运算进行判断,逻辑运算的结果有两个,所以产生选择,按照不同的选择执行不同的代码。

if语句:if条件句有三种形式

        1:if(表达式){方法体}

        2:if(表达式){方法体} else {方法体}

        3:if(表达式){方法体} else if(表达式){方法体} else{方法体}

注意:

   关系表达式无论简单还是复杂,结果必须是boolean类型

   if语句控制的语句体如果是一条语句,大括号可以省略;如果是多条语句,就不能省略。建议永远不要省略。

switch语句:

这里写图片描述

 表达式的取值:byte,short,int,char,JDK5以后可以是枚举,JDK7以后可以是String

 case后面跟的是要和表达式进行比较的值

 语句体部分可以是一条或多条语句

 break表示中断,结束的意思,可以结束switch语句

 default语句表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似。

执行流程:

 首先计算出表达式的值

 其次,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束。

 最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉。

注意事项:

 case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的

 default可以省略吗?
 可以省略。一般不建议。除非判断的值是固定的。

 break可以省略吗?
 可以省略,一般不建议。否则结果可能不是你想要的,会有贯穿现象

 default的位置一定要在最后吗?
 可以出现在switch语句任意位置。

 switch语句的结束条件
 遇到break
 执行到程序的末尾

if语句使用场景:

 针对结果是boolean类型的判断

 针对一个范围的判断

 针对几个常量值的判断

switch语句使用场景:

 针对几个常量值的判断

循环结构

循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否则循环将一直执行下去,形成死循环。

包括while循环语句,do…while循环语句和for循环

注意事项:

for循环语句和while循环语句可以等价转换,但还是有些小区别的

    控制条件语句所控制的那个变量,在for循环结束后,就不能再被访问到了;

    而while循环结束还可以继续使用,如果你想继续使用,就用while,否则推荐使用for。

    原因是for循环结束,该变量就从内存中消失,能够提高内存的使用效率。

do…while循环至少会执行一次循环体。

for循环和while循环只有在条件成立的时候才会去执行循环体

总结:写程序优先考虑for循环,再考虑while循环,最后考虑do…while循环

接下来看看循环语句的中断与跳转:

break

continue

return

System.exit(0)

例子:

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

总结:

break:(针对最近的循环结构)

(1).结束当前整个循环,执行当前循环下边的语句。忽略循环体中任何其它语句和循环条件测试。 

(2).只能跳出一层循环,如果你的循环是嵌套循环,那么你需要按照你嵌套的层次,逐步使用break来跳出。[逐层判断,逐步跳出] 

(3).break在循环体内,强行结束循环的执行,也就是结束整个循环过程,不在判断执行循环的条件是否成立,直接转向循环语句下面的语句。 

(4).当break出现在循环体中的switch语句体内时,其作用只是跳出该switch语句体。 

总的来说:就近原则,结束当前的整个循环。

continue:(针对本次循环)

(1).终止本次循环的执行,即跳过当前这次循环中continue语句后尚未执行的语句,接着进行下一次循环条件的判断。 

(2).结束当前循环,进行下一次的循环判断。 

(3).终止当前的循环过程,但他并不跳出循环,而是继续往下判断循环条件执行语句.他只能结束循环中的一次过程,但不能终止循环继续进行。

总的来说:终止当前这次循环,进行下一次循环。

return:(针对循环结构所在方法)

总的来说:退出循环所在方法。

System.exit(0):(针对整个应用程序)

总的来说:正常退出应用程序。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值