【JAVA-SE】流程控制语句

前言:一件完整的事件从开始到结束都有自己的一套流程,越复杂的事件其流程也越复杂。在编程语言中,如何利用流程的逻辑控制事件的发展与走向,减少代码量?如何利用流程控制语句实现想要的功能?在这之前我们先要了解什么是流程控制语句,流程控制语句有哪些,各自是如何实现流程控制的?
分类:顺序结构、选择结构、循环结构

顺序结构

概述:最简单最基本的流程控制、按顺序执行(写在前面的先执行,写在后面的后执行)
执行流程:从上往下,依次执行。

选择结构

概述:(分支结构)
选择结构有特定的语法规则,代码要执行具体的逻辑运算进行判断,
逻辑运算的结果有两个或者多个,所以产生选择,按照不同的选择执行不同的代码。
分类:if语句、switch语句

IF语句

格式

  • 格式1:if(比较表达式或者是boolean类型的值) {语句体;}
    执行流程

表达式的值–>判断真假

true–>执行语句体
false–>不执行语句体

  • 格式2:if(比较表达式) {语句体1;}
    else {语句体2;}
    执行流程

表达式的值–>判断真假

true–>执行语句体1
false–>执行语句体2

  • 格式3:if(比较表达式1) {语句体1;
    }else if(比较表达式2) {语句体2;
    }else if(比较表达式3) {语句体3;
    }…else {语句体n+1;}
    执行流程

表达式1的值–>判断真假

true–>执行语句体1
false–>表达式2的值–>判断真假

true–>执行语句体2
false–>•••–>表达式n的值–>判断真假–>

true–>执行语句体n
false–>执行语句体n+1

注意

比较表达式无论简单还是复杂,结果必须是boolean类型
语句体是一条语句,大括号可以省略
语句体多条时,不能省略大括号。建议永远不要省略。
有左大括号就没有分号,有分号就没有左大括号
else后面是没有比较表达式的,只有if后面有。
当只要有一个条件满足时,if语句结束。else是可以省略,但是不建议省略。

什么时候if语句实现不能用三元改进呢?

当if语句控制的操作是一个输出语句的时候就不能。
为什么呢?因为三元运算符是一个运算符,运算符操作完毕就应该有一个结果,而不是一个输出。

switch语句

格式

switch(表达式){case 值1:语句体1;break;
case 值2:语句体2;break;
case 值3:语句体3;break;

default:语句体n+1;break; }
格式解释:switch表示这是switch语句
case后是一个值(常量),要和表达式进行比较的,不可重复
default表示以上条件都没有匹配项(可以不写,位置不要求);
支持数据类型:byte,short,int,char,枚举类型(1.5),字符串(1.7)
语句体部分可以是一条或多条语句
break表示中断,结束的意思,可以结束switch语句
省略break会出现case穿透现象

执行流程

表达式的值–>匹配case–>执行语句体–>break结束–>false–>执行default语句

使用场景

if语句使用场景:
针对结果是boolean类型的判断
针对一个范围的判断
针对几个常量值的判断
**switch语句使用场景:**针对几个常量值的判断

循环结构

循环语句可以在满足循环条件的情况下,反复执行某一段代码,需要结束循环
分类:for循环、while循环

for语句

格式:for(初始化表达式语句;判断条件语句;控制条件语句) {循环体语句;}
执行流程

初始化表达式语句–>判断条件语句

true–>继续
false–>结束

注意
初始化表达式语句只执行一次
判断条件语句是boolean类型

For(int a:int[] arr){}(遍历中无法修改)
a :遍历的容器中的当前元素—类型
arr :容器名字

while语句

格式:初始化条件语句;
while(判断条件语句) {
循环体语句;
控制条件语句; }
执行流程

初始化条件语句–>判断条件语句

true–>继续
false–>结束

do…while语句

格式:初始化条件语句;
do {循环体语句;
控制条件语句;
}while(判断条件语句);
执行流程

初始化条件语句–>循环体语句–>控制条件语句–>判断条件语句

true–>继续
false–>结束

三种循环语句的区别:

do…while循环至少执行一次循环体。
for,while循环必须先判断条件是否成立,然后决定是否执行循环体语句。
如果你想在循环结束后,继续使用控制条件的那个变量,用while循环,否则用for循环。
不知道用for循环。 因为变量及早的从内存中消失,可以提高内存的使用效率。
建议优先考虑for循环,然后是while循环 ,最后是do…while循环
知道循环次数用for();不知道循环次数用while();
一定要注意控制条件语句控制的那个变量的问题,不要弄丢了,否则就容易死循环。
两种最简单的死循环格式while(true){…}、for(;?{…}

控制跳转语句

实现控制语句的跳转和中断。
分类:break 中断、 continue 继续、return 返回
离开使用场景的存在是没有意义的

break

break—结束单层循环
使用场景:在选择结构switch语句中、在循环语句中
作用:退出单层循环、退出多层循环(几乎不使用)(格式:标签名:语句)

coontinue

continue—结束当前循环,执行下一次循环
使用场景:在循环语句中
作用:跳出一次循环,执行下一步操作

return

return—结束当前方法
作用:return 就是退出一个方法。
跳转到上层调用的方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值