## if与switch(分支语句)

### 一.if...else if...else
1.语法
if(条件表达式1){
语句体1;
}else if(条件表达式2){
语句体2;
}else{
语句体3;
}
执行流程:
从条件表达式1开始判断,如果为true,执行语句体1;如果为false,执行条件表达式2,否则执行语句体3。
2.案例
输入年份判断闰年还是平年

```java
public class Demo3 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);//创建扫描器
System.out.println("请输入想要判断的年:");
int year = sc.nextInt();//设置变量接受用户输入的年份
if(year % 4 ==0 && year % 100 !=0 || year % 400 == 0){
System.out.println(year + "是闰年");
}else{
System.out.println(year + "是平年");
}
}
}
```


1.语法
switch(表达式){
case 常量1;
需要执行的语句体1;
break;
case 常量1;
需要执行的语句体1;
break;
......
default:
需要执行的语句体;
break;
}
执行流程:
表达式和case后面的常量值进行比较,和哪个case的值相等,就执行哪个case的语句体;遇到break就结束。(注意事项:写switch时要注意防止break穿透)
2.案例

```java
package com.switch_; public class SwitchDemo3 {
public static void main(String[] args) {
String level="黄金";
switch(level){
case "黑铁":
System.out.println("黑铁");
break;
case "青铜":
System.out.println("青铜");
break;
case "白银":
System.out.println("白银");
break;
case "黄金":
System.out.println("黄金");
break;
default:
System.out.println("其他");
}
}
}

//最终结果为黄金,因为level的值与第四个case的值相匹配,
所以执行里面的语句体,然后遇到break跳出循环,
如果没有break,会穿透,输出的结果就是 黄金 其他
```

if与switch(break穿透)的更多相关文章

  1. switch 的穿透, 以及穿透利用

    switch 穿透测试: outputs: 添加break 阻止switch穿透: outputs: 利用switch的穿透功能:

  2. switch的穿透,是参数里包含case内容就执行。

    package rom; import java.lang.*; /* * switch的穿透,是参数里包含case内容就执行. */ public class Xamle_5 { public st ...

  3. C#语句1:选择语句二(switch break)

    (二)switch case switch case 必须与 break 一同使用.break是跳转语句.与switch case连用的时候是跳出最近的{}. 注: ●若case后面接收的是字符串类型 ...

  4. switch,break和default语句练习

    int w = 8; switch (w){ case 0: System.out.println("今天是星期日"); break; case 1: System.out.pri ...

  5. 4.2 Go switch

    4.2 Go switch switch语句用于基于不同条件执行不同动作,每一个case分支唯一,自上而下逐一测试,直到匹配结束,默认自动终止,不需要break. 2. switch基本语法 swit ...

  6. C语言break语句

    break语句不能用于循环语句和switch语句之外的任何其他语句中: breakh中断switch break如果用于循环,是用来终止循环:break如果用于switch,则是用于终止switch. ...

  7. JAVA之Switch语句

    switch case语句是用来判断case后面的表达式是否与switch的表达式一致,符合的话就执行case语句,不符合则break跳出.而default是当没有符合case的条件下执行的(它不用b ...

  8. break用法

    break用于循环,则是终止循环 break用于switch,则终止switch break不能用于if.当break用于if语句,但是终止的是if的外部循环 break 只能终止最近的循环

  9. python 数据类型 之 利用 dict 模仿 switch语句功能

    Python本身并不提供Switch的语法功能,为了能够解决类似switch分支需求的问题,我们可以使用字典代替实现. 解决思路: 利用字典取值的get方法的容错性,处理switch语句中的defau ...

随机推荐

  1. java创建透明背景的PNG图片加自定义文字水印

    人在码上走,需求天天有.这不,今天前端让我返回一个带自定义水印的背景图片.一通google,有现成的代码,但是基本是直接在源图上添加水印,生成出来的文字样式也没有控制好,看来又只有自己造轮子了. 过程 ...

  2. (十一)DVWA全等级SQL Injection(Blind)盲注--手工测试过程解析

    一.DVWA-SQL Injection(Blind)测试分析 SQL盲注 VS 普通SQL注入: 普通SQL注入 SQL盲注 1.执行SQL注入攻击时,服务器会响应来自数据库服务器的错误信息,信息提 ...

  3. 使用liunx系统自带的工具sar监控指定接口速率

    1.路由器双出口部署,接口可以实现负载分担,在接口负载比例设置为1:2之后,管理员反馈流量有些异常,内网tracert -d 外网域名或者IP,都走一条链路. 2.底层尝试使用sar命令监控两个接口的 ...

  4. iOS-字典转模型(单模型)的实现

    用模型取代字典的好处 使用字典的坏处 一般情况下,设置数据和取出数据都使用“字符串类型的key”,编写这些key时,编译器不会有任何友善提示,需要手敲, eg:dict[@"name&quo ...

  5. 2.vue-常用指令

    1.v-html:刷新的时候是整个DOM元素都会跟着一起进行刷新 v-text:直接刷新DOM种的text文本内容2.如果想在vue绑定html中的属性使用的是v-bind进行绑定的 v-bind:h ...

  6. PAT1040 Longest Symmetric String (25分) 中心扩展法+动态规划

    题目 Given a string, you are supposed to output the length of the longest symmetric sub-string. For ex ...

  7. Python的数据的基本类型

    基本数据类型 int整数 str 字符串   一般不存放大量的数据 bool  布尔值,用来判断. True,False    list  列表.存放大量数据,[]表示,里面可以放各种数据类型     ...

  8. ESP8266局域网 路由器下作服务器模式串口透传 arduino uno示例 模板参考2

    ESP8266服务器模式串口透传编译需要下载8266的库文件后才可以正常 准备工作 下载一个Arduino IDE,下载8266的库文件ESP8266服务器模式串口透传编译 功能说明 1.直接使用路由 ...

  9. 消息队列——RabbitMQ的基本使用及高级特性

    文章目录 一.引言 二.基本使用 1. 简单示例 2. work queue和公平消费消息 3. 交换机 三.高级特性 1. 消息过期 2. 死信队列 3. 延迟队列 4. 优先级队列 5. 流量控制 ...

  10. sockaddr_in与sockaddr区别

    先粘代码 struct sockaddr { __SOCKADDR_COMMON (sa_); /* Common data: address family and length. */ char s ...