//利用switch语句计算特定的年份的月份共有几天。

let year =2015

let month =2

//先判断闰年中二月份的情况

ifmonth ==2

{

if (year %400 ==0||year
%4 ==0 &&year %100 !=0)

//闰年的二月份29天,非闰年的二月份是28天

{ print("29天") }else
{ print("28天") }

}

else {

//考虑其他两种情况

switchmonth {

case1,3,5,7,8,10,12
:print("31天")

default:print("30天")

}

}

注意:

贯穿(Fallthrough)

Swift 中的switch不会从上一个 case 分支落入到下一个 case 分支中。相反,只要第一个匹配到的 case 分支完成了它需要执行的语句,整个switch代码块完成了它的执行。相比之下,C 语言要求你显示的插入break语句到每个switch分支的末尾来阻止自动落入到下一个 case 分支中。Swift 的这种避免默认落入到下一个分支中的特性意味着它的switch 功能要比 C 语言的更加清晰和可预测,可以避免无意识地执行多个 case 分支从而引发的错误。

如果你确实需要 C 风格的贯穿(fallthrough)的特性,你可以在每个需要该特性的 case 分支中使用fallthrough关键字。

fallthrough关键字不会检查它下一个将会落入执行的 case 中的匹配条件。fallthrough简单地使代码执行继续连接到下一个 case 中的执行代码,这和 C 语言标准中的switch语句特性是一样的。

版权声明:本文为博主原创文章,未经博主允许不得转载。

利用switch语句计算特定的年份的月份共有几天。的更多相关文章

  1. 利用switch语句进行多选一判断。

    <!doctype html> <meta http-equiv="content-type" content="text/html" cha ...

  2. Javascript 利用 switch 语句进行范围判断

    ; switch (true) { ): alert("less than five"); break; ): alert("between 5 and 8") ...

  3. (折扣计算)需求说明:普通顾客购物满100元打9折;会员购物打8折;会员购物满200元打7.5折(判断语句if-else和switch语句的嵌套结

    package com.summer.cn; import java.util.Scanner; /** * @author Summer *折扣计算 需求说明:普通顾客购物满100元打9折:会员购物 ...

  4. PHP Switch 语句判断成绩

    初入PHP,就想简单的利用switch语句写一个关于成绩等级的判断,整个过程分为两部分一是前端数据,二是后台的计算. [HTML代码] <!-- * * * @Author: wyy * @Da ...

  5. 多路开关模式的switch语句

    在实例10中,将break语句去掉之后,会将符合检验条件后的所有语句都输出.利用这个特点,可以设计多路开关模式的switch语句,例如:在平年一年12个月,1.3.5.7.8.10.12月是31天,4 ...

  6. switch语句小练习

    java有两钟选择判断语句,分别是if else和switch case语句. 下面我们做一个switch case语句的练习. // 定义一个扫描器 Scanner sacnner = new Sc ...

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

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

  8. 请使用switch语句和if...else语句,计算2008年8月8日这一天,是该年中的第几天。

    请使用switch语句和if...else语句,计算2008年8月8日这一天,是该年中的第几天. #include <stdio.h> int main() { /* 定义需要计算的日期 ...

  9. 用switch语句根据消费金额计算折扣

    最终输出效果: 代码: package com.mingrisoft; import java.util.Scanner; public class ProductPrice { public sta ...

随机推荐

  1. classLoader (一)

    不说废话,上代码吧. 随便写一个类,他是由appclassLoader加载的 package classLoaderExample; class Bean { public void test() { ...

  2. NOIP2002 字串变换

    题二 字串变换 (存盘名: NOIPG2) [问题描述]: 已知有两个字串 A$, B$ 及一组字串变换的规则(至多6个规则): A1$ -> B1$ A2$ -> B2$ 规则的含义为: ...

  3. HW2.22

    import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner i ...

  4. Re-enable Alcatraz on Xcode 6.3.2 or newer

    I’ve been using Alcatraz to manage Xcode plug-ins for some time now. After updating to Xcode 6.3.2 a ...

  5. lab 1实验报告

    练习1:理解通过make生成执行文件的过程. 1.操作系统镜像文件ucore.img是如何一步一步生成的? 生成 bin/kern 部分 生成 init.o 生成 readline.o 生成 stdi ...

  6. java web 自定义错误页面 完整jsp错误页面代码(同时写错误日志) error.jsp

    1.首先配置web.xml  添加一下代码 <error-page> <error-code>500</error-code> <location>/e ...

  7. 拍照返回的bitmap太小

    private void doPhoto(int requestCode) { if(!Environment.getExternalStorageState().equals(Environment ...

  8. 在SCVMM2012R2中删除失去联系的VM GateWay

    当VM Gateway失去联系,无法使用,直接删除GW,或者在VM Network中删除GW连接,均会出现如下错误提示: 错误(21426)对配置提供程序 4ee559f1-f479-480c-945 ...

  9. JAVA调用操作javascript (JS)工具类

    import java.io.BufferedReader;import java.io.FileNotFoundException;import java.io.FileReader;import ...

  10. ubuntu14.04启动提示set_sw_state failed

    安装上ubuntu14.04时,系统启动时一直出现一个问题 kernel: [ 16.465893] [drm:rv770_dpm_set_power_state] *ERROR* rv770_set ...