004、选择结构

来源:互联网 发布:手机怎么修复网络 编辑:程序博客网 时间:2024/06/10 10:29
选择结构也被称为分支结构。选择结构有特定的语法规则,代码要执行具体的逻辑运算进行判断,逻辑运算的结果有两个,所以产生选择,按照不同的选择执行不同的代码。Java语言提供了两种选择结构语句if语句switch语句一、if语句有三种格式1、if语句第一种格式:if(关系表达式) {     语句体;}执行流程:首先判断关系表达式看其结果是true还是false如果是true就执行语句体如果是false就不执行语句体注意事项:1)关系表达式无论简单还是复杂,结果必须是boolean类型2)if语句控制的语句体如果是一条语句,大括号可以省略;如果是多条语句,就不能省略。建议永远不要省略。3)一般来说:有左大括号就没有分号,有分号就没有左大括号2、if语句第二种格式:if(关系表达式) {     语句体1;}else {     语句体2;}执行流程:首先判断关系表达式看其结果是true还是false如果是true就执行语句体1如果是false就执行语句体2由于if语句的第二种格式刚才也完成了三元运算符可以完成的效果。所以,我们就认为他们可以完成一样的操作。但是,他们就一点区别没有吗?肯定不是。区别:三元运算符实现的,都可以采用if语句实现。反之不成立。什么时候if语句实现不能用三元改进呢?当if语句控制的操作是一个输出语句的时候就不能。为什么呢?因为三元运算符是一个运算符,运算符操作完毕就应该有一个结果,而不是一个输出。3、if语句的格式3: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。二、switch语句格式:1、switch(表达式) {case 值1:语句体1;break;case 值2:语句体2;break;...default:语句体n+1;break;}格式的解释:switch:表示这是switch选择结构表达式:这个地方的取值是有限定的byte,short,int,charJDK5以后可以是枚举JDK7以后可以是字符串case:后面跟的是要和表达式进行比较的值语句体:要执行的代码break:表示中断,结束的意思,可以控制switch语句的结束。default:当所有的值都和表达式不匹配的时候,就执行default控制的语句。其实它就相当于if语句的else。2、switch语句的注意事项:1)case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的2)default可以省略吗?可以省略,但是不建议,因为它的作用是对不正确的情况给出提示。特殊情况:case就可以把值固定。A,B,C,D3)break可以省略吗?可以省略,但是结果可能不是我们想要的。会出现一个现象:case穿透。最终我们建议不要省略4)default一定要在最后吗?不是,可以在任意位置。但是建议在最后。5)switch语句的结束条件a:遇到break就结束了b:执行到末尾就结束了3、在做判断的时候,我们有两种选择,if语句和switch语句,那么,我们到底该如何选择使用那种语句呢?if语句使用场景:针对结果是boolean类型的判断针对一个范围的判断针对几个常量值的判断switch语句使用场景:针对几个常量值的判断