zoukankan      html  css  js  c++  java
  • 结构化编程:多支条件判断switch case

    有些条件判断并非简单的真假模式,而是在多种可能中选择一个处理。这种情况,我们需要使用switch case语句进行处理。

    以下是对上海地铁自动售票机的模拟

     

    Code

    上述代码运行的结果如图。如果你输入正确的数字:3456系统就会提示你选择的票价,如果你输入的是超过范围的数字,则系统没有任何提示。

    switch 语句是一个控制语句,它通过将控制传递给其体内的一个 case 语句来处理多个选择。控制传递给与给定的值匹配的 case 语句。switch 语句可以包括任意数目的 case 实例,但是任何两个 case 语句都不能具有相同的值。语句体从选定的语句开始执行,直到 break 将控制传递到 case 体以外。

    switch 语句除了可以处理有匹配的值的情况,还可以处理没有任何 case 表达式与开关值匹配的情况,这种控制由default 标签处理。如果没有 default 标签,则控制传递到 switch 以外。

    下面的代码在原先基础上添加了default 标签,提供了用户的更多的体验。

    Code

    任何两个 case 语句不能具有相同的值。C# 不支持从一个 case 标签显式贯穿到另一个 case 标签,在每一个 case 块的后面,都必须有一个跳转语句。但例外的是:当 case 语句中没有代码时,空 case 标签可以从一个 case 标签贯穿到另一个。

    以下代码描述了当用户输入123的时候,系统都认为用户要选择3元的票价。当输入了6789的时候,都认为用户选择了6元的票价。

    而用户输入了一个不在提示范围的值,会提示用户输入错误。

    Code

    初学者注意:

    当对一个变量(仅一个变量)需要作多条间判断或者类型判断,我们建议可以考虑使用switch

    代码要注意缩进,在VS2008IDE中,使用菜单【编辑】|【高级】|【设置文档的格式】可以自动完成缩进。

  • 相关阅读:
    初识JAVA
    计算机语言发展史
    课时11:禁用、清理二级缓存,以及整合Ehcache缓存
    课时10:MyBatis一级缓存、二级缓存
    课时9::MyBatis整合Log4j、延迟加载
    课时7:动语态SQL、foreach、输入参数为类中的集合属性、集合、数组、动态数组
    课时6 输出参数为简单类型、对象类型、HashMap及resultMap使用
    课时5 入参为HashMap,以及mybatis调用存储过程CRUD
    课时4:l两种取值符号以及ParameterType为简单,对象,嵌套对象类型
    课时3:属性文件丶全局参数丶别名丶类型转换器丶resultMap
  • 原文地址:https://www.cnblogs.com/shyleoking/p/1507607.html
Copyright © 2011-2022 走看看