Java选择结构

Java选择结构

Java语言选择结构的百度脑图如下:
在这里插入图片描述
基本if条件结构
if选择结构是根据条件判断之后再做处理的一种语法结构,下面是最基本的if选择结
构的语法。

    if(条件){
         代码块;
    }

 其中,if后小括号里的条件必须是一个布尔表达式,即表达式的值必须为布尔值true

或false。程序执行时先判断条件,当结果为true时,程序先执行大括号里的代码块,再执
行 if结构块后面的代码;当结果为false时,不执行大括号里的代码块,而直接执行if结
构块后面的代码。代码块可以是一条语句,也可以是一组语句。

例如:

public class Demo{
public static void main(String[ ]args){
语句1;
语句2;
if(条件){
语句3;
}
语句4;
}
}

其中,main()是程序的入口,main()中的语句将逐条顺序地执行,所有的语句都执行
完毕后程序结束。因此,程序开始执行后,首先执行语句1和语句2,然后对条件进行判断,
如果条件成立,执行语句3,然后跳出if结构块执行语句4;如果不成立,不执行语句3,
·而直接执行语句4。

*****注意 :当if关键字后的一对大括号里只有一个语句时,可以省略大括号。但是,为了避免有
多个语句时遗忘大括号,或为了保持程序整体风格一致,建议不要省略if结构块的大括号。
多重if条件结构
Java中还有一种if选择结构的形式:多重if选择结构。多重if选择结构在解决需要判断的条件是连续的区间时有很大的优势。
多重i选择结构不是多个基本if选择结构简单地排列在一起。if选择结构语法如下。

   if(条件 1) {
        代码块 1;
  }else if(条件 2) {
       代码块 2;
  }else{
      代码块 3;
  }
     多重i选择结构的执行过程是:①判断条件1,如果成立则执行代码块1,然后直接

跳出这个多重if选择结构,执行它后面的代码。这种情况下,代码2和代码3都不执行。
②如果条件1不成立,则判断条件2。如果条件2成立,执行代码块2,然后跳出这个多
重if选择结构,执行它后面的代码。这种情况下,代码1和代码3不执行。③如果条件2
也不成立,代码块1和代码块2都不执行,直接执行代码块3。其中,else if 块可以有多
个或没有。注意:else块最多有一个或没有,else块必须要放在。else if 块之后。

嵌套if条件结构
嵌套 if选择结构就是在if里再嵌入if选择结构,语法如下:

if(条件1){
if(条件2){
代码块 1;
}else{
代码块 2;
}
}else{
代码块 3;
}

注意: (1)只有当满足外层if的条件时,才会判断内层if的条件。
(2)else总是与它前面最近的那个缺少else的if配对。

注意:if结构书写规范如下。
(1)为了使if结构更加清晰,应把每个if或else包含的代码块都用大括号括起来。
(2)相匹配的一对if和else应该左对齐。
(3)内层的if结构相对于外层的if结构有一定的缩进。

switch条件选择结构
switch 语句由一个控制表达式和多个case标签组成,与if语句不同的是,switch语句
后面的控制表达式的数据类型只能是byte、shert、char、int这4个整数类型和枚举类型(JDK1.7也支持String类型),
不能是boolean类型。
switch 语句往往需要在 case 标签后紧跟一个代码块,case标签作为这个代码块的标识。
switch 语句的语法格式如下:

switch(表达式){
case 常量 1:
代码块1:
break;
case 常量 2:
代码块 2;
break;
……
default:
代码块 n.
break;
}

这种分支语句的执行是先对表达式求值,然后依次匹配:常量1,常量2,···,常量N,
遇到匹配的值即执行对应的代码块。如果所有 case 标签后的值都不与表达式的值相等,则
执行default 标签后代码块。
与if语句不同的是, switch 语句中各 case 标签后代码块开始点和结束点非常清晰,因
此可以省略 case 后代码块的花括号。与 if语句中的else 类似,switch 语句中的 default 标签
看似没有条件,其实是有条件的,条件就是 expression 表达式的值不能与前面任何一个case
标签的值相等。

说明:Java7 增强了 switch 语句的功能,允许switch语句的控制表达式是java.lang.
String 类型的变量或表达式,但只能是java.lang.String 类型,而不能是StringBuffe
StringBuilder字符串类型。

注意:使用switeh语句时,有两个地方需注意:第一个是,switch语句后的表达式的数据类型
只能是byte、short、char、int这4个整数类型以及String类型和枚举类型;第二个是,如果省
case 后代码块的break,则将引入陷阱。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值