//利用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. 【原】1.1RDD源码解读(一)

    1.RDD(Resilient Distributed DataSet)是Spark生态系统中最基本的抽象,代表不可变的.可并行操作的分区元素集合.RDD这个类有RDD系列所有基本的操作,比如map. ...

  2. C#调用VC dll输出参数

    最近做项目需要把以前Vc写的程序整合到VS2005来,用c#写的,以前VC的动态连接库写好了,重写比较麻烦,让C#调用VC dll就好了.但碰到了一个问题:VC中作为输出参数的char*类型的变量应该 ...

  3. Already tried 0 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep解决方法

    14/03/26 23:10:04 INFO ipc.Client: Retrying connect to server: 0.0.0.0/0.0.0.0:10020. Already tried ...

  4. HW4.8

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

  5. HDOJ(~1004)

    T1000 #include <stdio.h> int main() { int a, b; while (scanf("%d %d", &a, &b ...

  6. Android camera采集视频 X264编码

    参考 http://blog.csdn.net/zblue78/article/details/6058147 感谢 ExperiencesOfCode 硬件平台:CPU Intel G630 @2. ...

  7. PC-破解RAR软件注册问题

    打开RAR文件提示软件注册 压缩软件WinRAR并不是免费软件,用了40天后,每次解压文件时都会弹出一提示,问你是否购买(但不影响功能),下面说下最新版的WinRAR v3.71(现在有更新版了,一样 ...

  8. linux下查询域名或IP注册信息的操作记录(whois)

    在运维工作中,有时需要查询某些域名的注册信息(域名的NS,注册用户,注册邮箱等),可以使用whois这个命令.whois命令令用来查找并显示指定帐号(或域名)的用户相关信息,因为它是到Network ...

  9. C socket demo

    一.服务端-server.c #include <stdio.h> #include <sys/socket.h> #include <arpa/inet.h> # ...

  10. Android 接收短信

    启动程序时启动一个service,在service里注册接收短信的广播,当手机收到短信里,打印出短信内容跟电话号码. package com.lmy.SmsListener; import andro ...