if与switch(break穿透)
## 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穿透)的更多相关文章
- switch 的穿透, 以及穿透利用
switch 穿透测试: outputs: 添加break 阻止switch穿透: outputs: 利用switch的穿透功能:
- switch的穿透,是参数里包含case内容就执行。
package rom; import java.lang.*; /* * switch的穿透,是参数里包含case内容就执行. */ public class Xamle_5 { public st ...
- C#语句1:选择语句二(switch break)
(二)switch case switch case 必须与 break 一同使用.break是跳转语句.与switch case连用的时候是跳出最近的{}. 注: ●若case后面接收的是字符串类型 ...
- switch,break和default语句练习
int w = 8; switch (w){ case 0: System.out.println("今天是星期日"); break; case 1: System.out.pri ...
- 4.2 Go switch
4.2 Go switch switch语句用于基于不同条件执行不同动作,每一个case分支唯一,自上而下逐一测试,直到匹配结束,默认自动终止,不需要break. 2. switch基本语法 swit ...
- C语言break语句
break语句不能用于循环语句和switch语句之外的任何其他语句中: breakh中断switch break如果用于循环,是用来终止循环:break如果用于switch,则是用于终止switch. ...
- JAVA之Switch语句
switch case语句是用来判断case后面的表达式是否与switch的表达式一致,符合的话就执行case语句,不符合则break跳出.而default是当没有符合case的条件下执行的(它不用b ...
- break用法
break用于循环,则是终止循环 break用于switch,则终止switch break不能用于if.当break用于if语句,但是终止的是if的外部循环 break 只能终止最近的循环
- python 数据类型 之 利用 dict 模仿 switch语句功能
Python本身并不提供Switch的语法功能,为了能够解决类似switch分支需求的问题,我们可以使用字典代替实现. 解决思路: 利用字典取值的get方法的容错性,处理switch语句中的defau ...
随机推荐
- Pycharm添加Python文件模板
#!/usr/bin/env python# -*- encoding: UTF-8 -*-'''=================================================@P ...
- k8s学习-文档&概念
1.文档大全 kubernetes objects文档(yaml文件编写): https://kubernetes.io/docs/concepts/overview/working-with-obj ...
- openshift v1.5 不能登录system:admin 问题
这个好像是无法解决的,我按照github和google所有步骤试过了,还是不能登录system:admin .需要密码.弄了两个小时,后来放弃了,直接使用新版本3.6的,按照官网方法部署,可以使用直接 ...
- Spark原始码系列(五)分布式缓存
问题导读:spark缓存是如何实现的?BlockManager与BlockManagerMaster的关系是什么? 这个persist方法是在RDD里面的,所以我们直接打开RDD这个类. def pe ...
- 操作-写入excel
xlwt模块 封装 #!/usr/bin/env python # -*- coding: utf-8 -*- import xlwt import xlrd from xlutils.copy im ...
- Java中Clob类型转换成String类型的问题
1.问题: 项目中使用druid+达梦数据库(基本类似Oracle),查出的Clob类型数据在运行时为ClobProxyImpl对象而不是内容,不能转为字符串 2.原代码: map为达梦数据库或Ora ...
- salesforce零基础学习(九十八)Type浅谈
在Salesforce的世界,凡事皆Metadata. 先通过一句经常使用的代码带入一下: Account accountItem = (Account)JSON.deserialize(accoun ...
- node实现文件属性批量修改(时间属性)
前言 在默认情况下,一个文件的创建时间和修改时间是系统自己设定的,我们不能修改该的.但我们有时为了某种特殊需要,为了不让别人一眼看出文件已经给修改了,我们又需要修改文件的创建时间和修改时间.那么如何修 ...
- 无法解析的外部符号 "public: virtual struct CRuntimeClass * _
SetupPropertyPage.obj : error LNK2001: 无法解析的外部符号 "public: virtual struct CRuntimeClass * __this ...
- SSM-框架搭建-tank后台学习系统
一.前言 最近收到很多网友给我私信,学习软件开发有点吃力,不知道从何处开始学习,会点基础但是做不出来什么项目, 都想放弃了.我就回复道:当下互联网飞速发展,软件开发行业非常吃香而且前景相当不错.希望能 ...