五、switch case语句

1、格式

Switch(表达式)

{

case 表达式:语句块

break;

default

break;

}

2、例题

输入年份、月份、日期,判断是否是闰年,并且输出是当年的第几天。

主要代码:

while (true)

{

Console.Write("请输入年份:");

int y = int.Parse(Console.ReadLine());

if (y >= 1 && y <= 9999)

{

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

{

Console.WriteLine("您输入的是闰年!");

Console.Write("请输入月份:");

int m = int.Parse(Console.ReadLine());

if (m >= 1 && m <= 12)

{

Console.Write("请输入日期:");

int d = int.Parse(Console.ReadLine());

if (((m == 1 || m == 3 || m == 5 || m == 7 || m == 8 || m == 10 || m == 12) && (d >= 1 && d <= 31)) || ((m == 4 || m == 6 || m == 9 || m == 11) && (d >= 1 && d <= 30)) || (m == 2 && (d >= 1 && d <= 29)))

{

switch (m)

{

case 1: Console.WriteLine("是{0}年的第{1}天。", y, d);

break;

case 2: Console.WriteLine("是{0}年的第{1}天。", y, 31 + d);

break;

case 3: Console.WriteLine("是{0}年的第{1}天。", y, 31 + 29 + d);

break;

case 4: Console.WriteLine("是{0}年的第{1}天。", y, 31 + 29 + 31 + d);

break;

case 5: Console.WriteLine("是{0}年的第{1}天。", y, 31 + 29 + 31 + 30 + d);

break;

case 6: Console.WriteLine("是{0}年的第{1}天。", y, 31 + 29 + 31 + 30 + 31 + d);

break;

case 7: Console.WriteLine("是{0}年的第{1}天。", y, 31 + 29 + 31 + 30 + 31 + 30 + d);

break;

case 8: Console.WriteLine("是{0}年的第{1}天。", y, 31 + 29 + 31 + 30 + 31 + 30 + 31 + d);

break;

case 9: Console.WriteLine("是{0}年的第{1}天。", y, 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + d);

break;

case 10: Console.WriteLine("是{0}年的第{1}天。", y, 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + d);

break;

case 11: Console.WriteLine("是{0}年的第{1}天。", y, 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + d);

break;

case 12: Console.WriteLine("是{0}年的第{1}天。", y, 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30 + d);

break;

}

Console.WriteLine("现在是{0}年{1}月{2}日!", y, m, d);

}

else

Console.WriteLine("您输入的不是正确日期!");

Console.WriteLine("{0}年是闰年!", y);

}

else

Console.WriteLine("您输入的不是正确月份!");

}

else

{

Console.WriteLine("您输入的不是是闰年!");

Console.Write("请输入月份:");

int m = int.Parse(Console.ReadLine());

if (m >= 1 && m <= 12)

{

Console.Write("请输入日期:");

int d = int.Parse(Console.ReadLine());

if (((m == 1 || m == 3 || m == 5 || m == 7 || m == 8 || m == 10 || m == 12) && (d >= 1 && d <= 31)) || ((m == 4 || m == 6 || m == 9 || m == 11) && (d >= 1 && d <= 30)) || (m == 2 && (d >= 1 && d <= 28)))

{

switch (m)

{

case 1: Console.WriteLine("是{0}年的第{1}天。", y, d);

break;

case 2: Console.WriteLine("是{0}年的第{1}天。", y, 31 + d);

break;

case 3: Console.WriteLine("是{0}年的第{1}天。", y, 31 + 28 + d);

break;

case 4: Console.WriteLine("是{0}年的第{1}天。", y, 31 + 28 + 31 + d);

break;

case 5: Console.WriteLine("是{0}年的第{1}天。", y, 31 + 28 + 31 + 30 + d);

break;

case 6: Console.WriteLine("是{0}年的第{1}天。", y, 31 + 28 + 31 + 30 + 31 + d);

break;

case 7: Console.WriteLine("是{0}年的第{1}天。", y, 31 + 28 + 31 + 30 + 31 + 30 + d);

break;

case 8: Console.WriteLine("是{0}年的第{1}天。", y, 31 + 28 + 31 + 30 + 31 + 30 + 31 + d);

break;

case 9: Console.WriteLine("是{0}年的第{1}天。", y, 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + d);

break;

case 10: Console.WriteLine("是{0}年的第{1}天。", y, 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + d);

break;

case 11: Console.WriteLine("是{0}年的第{1}天。", y, 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + d);

break;

case 12: Console.WriteLine("是{0}年的第{1}天。", y, 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30 + d);

break;

}

Console.WriteLine("现在是{0}年{1}月{2}日!", y, m, d);

}

else

Console.WriteLine("您输入的不是正确日期!");

Console.WriteLine("{0}年不是闰年!", y);

}

else

Console.WriteLine("您输入的不是正确月份!");

}

}

else

Console.WriteLine("您输入的不是正确的年份!");

}

Console.ReadLine();

结果:

switch case语句的更多相关文章

  1. 为什么说在使用多条件判断时switch case语句比if语句效率高?

    在学习JavaScript中的if控制语句和switch控制语句的时候,提到了使用多条件判断时switch case语句比if语句效率高,但是身为小白的我并没有在代码中看出有什么不同.去度娘找了半个小 ...

  2. java中的Switch case语句

    java中的Switch case 语句 在Switch语句中有4个关键字:switch,case break,default. 在switch(变量),变量只能是整型或者字符型,程序先读出这个变量的 ...

  3. switch… case 语句的用法

    switch… case 语句的用法   public class Test7 { public static void main(String[] args) { int i=5; switch(i ...

  4. if语句,if...else if语句和switch...case语句的区别和分析

    前段时间在工作中遇到了一个关于条件判断语句的问题,在if语句,if else if语句和switch case语句这三者之间分析,使用其中最有效率的一种方法. 所以就将这个问题作为自己第一篇博客的主要 ...

  5. Python | 基础系列 · Python为什么没有switch/case语句?

    与我之前使用的所有语言都不同,Python没有switch/case语句.为了达到这种分支语句的效果,一般方法是使用字典映射: def numbers_to_strings(argument): sw ...

  6. 为什么switch...case语句比if...else执行效率高

    在C语言中,教科书告诉我们switch...case...语句比if...else if...else执行效率要高,但这到底是为什么呢?本文尝试从汇编的角度予以分析并揭晓其中的奥秘. 第一步,写一个d ...

  7. JavaScript基础知识(if、if else、else if、while、switch...case语句)

    13.语句 概念:就是分号(:) 代表一条语句的结束 习惯:一行只编写一条语句:一行编写多条语句(代码可读性较差) 语句块:可以包含多条语句     "{ }"将多条语句包裹 u ...

  8. C语言中switch case语句可变参实现方法(case 参数 空格...空格 参数 :)

    正常情况下,switch case语句是这么写的: : : ... ;break ; default : ... ;break ; } 接下来说一种不常见的,但是对于多参数有很大的帮助的写法: 先给一 ...

  9. Java基础之循环语句、条件语句、switch case 语句

    Java 循环结构 - for, while 及 do...while 顺序结构的程序语句只能被执行一次.如果您想要同样的操作执行多次,,就需要使用循环结构. Java中有三种主要的循环结构: whi ...

  10. python技巧 switch case语句

    不同于C语言和SHELL,python中没有switch case语句,关于为什么没有,官方的解释是这样的 使用Python模拟实现的方法: def switch_if(fun, x, y):    ...

随机推荐

  1. __metaclass__ 实现单列模式

    class Singleton(type): """Singleton. @see: http://stackoverflow.com/questions/6760685 ...

  2. nltk30_Investigating bias with NLTK

    sklearn实战-乳腺癌细胞数据挖掘(博客主亲自录制视频教程) https://study.163.com/course/introduction.htm?courseId=1005269003&a ...

  3. day7 方法及基础知识运用

    做了一个小型的成绩管理系统.主要代码如下: /* * 功能:简易学生成绩管理系统 */package day7; import java.util.Scanner; public class Home ...

  4. python---Django中模型类中Meta元对象了解

    Django中模型类中Meta元对象了解 1.使用python manage.py shell 进入编辑命令行模式,可以直接进入项目(为我们配置好了环境) python manage.py shell ...

  5. 接口测试Case之面向页面对象编写及规范

    一.什么是页面对象化 主要提倡的思想是:万物皆对象,即把一个Page看成一个对象,来进行接口自动化Case的编写,不要闲扯,直接讲怎么个操作法呢? 二.有什么优势? 2.1 Case层次清晰,便于管理 ...

  6. What Does “Neurons that Fire Together Wire Together” Mean?

    What Does “Neurons that Fire Together Wire Together” Mean? I’ve heard the phrase “neurons that fire ...

  7. 【转】Elastic日报 第576期 (2019-04-05)

    1.Elasticsearch性能测试实践http://t.cn/EiRzFiI2.监控Elasticsearch的插件推荐http://t.cn/EiRzFix3.支持机器数据的可扩展Elastic ...

  8. 七、Kafka 用户日志上报实时统计之编码实践

    一.数据生产实现 1.配置数据生产模块 项目基础配置所包含的内容,如下所示: •项目工程的文件配置 •集群连接信息配置 •开发演示 2.实现 Flume 到 Kafka 模块 实现 Flume 到 K ...

  9. Windows系统环境下Solr之Java实战(三)使用solrJ管理索引库

    https://www.cnblogs.com/zhuxiaojie/p/5764680.html https://www.cnblogs.com/xieyupeng/p/9317158.html

  10. Jquery Ajax自定义无刷新提交表单Form

    Jquery的$.ajax方法可以实现ajax调用,要设置url,post,参数等. 如果要提交现有Form需要写很多代码,何不直接将Form的提交直接转移到ajax中呢. 以前的处理方法 如Form ...