switch case语句

程序流程控制2

谁说胖子不能爱 提交于 2019-11-27 03:55:58
switch分支结构: 1)switch语句用于基本不同条件执行不同动作,每一个 case分支都是唯一的,从上到下逐一测试,直到匹配为止。 2)匹配项后面也不需要在加break 基本语法: swith 表达式 { case 表达式1,表达式2,...:   语句块1 case 表达式3,表达式4,... :   语句块2 //这里可以有多个case语句 default:   语句块 } 对上图的说明和总结 1)switch的执行流程是,先执行表达式,得到值,然后和case的表达式进行比较,如果相等,就匹配到,然后执行对应的case的语句块然后退出switch控制。 2)如果switch 的表达式的值没有和任何的case的表达式匹配成功,则执行default的语句块。执行后退出switch控制。 3)在golang中case 后的表达式可有多个,使用 逗号 间隔。 4)在golang中不需要写break,因为默认会有 break。在默认情况下,当程序执行完一个case语句块后就直接退出该switch控制。 案例; 请编写一个程序,改程序可以接受一个字符,比如:a,b,c,d,e,f,g a表示星期一,b表示星期二 ... 根据用户输入的显示相应的的信息。 要求使用switch 语句完成 代码编写: func main() {   //1.定义一个变量接收字符   //2

C语言实现简单有限状态机(FSM)

梦想与她 提交于 2019-11-27 02:23:01
文章目录 状态机-概述 实现方法 使用if/else if语句实现的FSM 使用switch case 函数指针实现FSM 参考 状态机-概述 有限状态机(finite state machine)简称FSM,表示有限个状态及在这些状态之间的转移和动作等行为的数学模型,在计算机领域有着广泛的应用。FSM是一种逻辑单元内部的一种高效编程方法,在服务器编程中,服务器可以根据不同状态或者消息类型进行相应的处理逻辑,使得程序逻辑清晰易懂。 实现方法 使用if/else if语句实现的FSM 使用if/else if语句是实现的FSM最简单最易懂的方法,我们只需要通过大量的if /else if语句来判断状态值来执行相应的逻辑处理。 看看下面的例子: #include <stdio.h> // // ┏┛ ┻━━━━━┛ ┻┓ // ┃       ┃ // ┃   ━   ┃ // ┃ ┳┛  ┗┳ ┃ // ┃       ┃ // ┃   ┻   ┃ // ┃       ┃ // ┗━┓   ┏━━━┛ // ┃   ┃ 神兽保佑 // ┃   ┃ 代码无BUG! // ┃   ┗━━━━━━━━━┓ // ┃        ┣┓ // ┃     ┏┛ // ┗━┓ ┓ ┏━━━┳ ┓ ┏━┛ // ┃ ┫ ┫ ┃ ┫ ┫ // ┗━┻━┛ ┗━┻━┛ enum Year

C#代码规范

馋奶兔 提交于 2019-11-27 01:55:27
1. 引言 本文是一套面向C# programmer 和C# developer 进行开发所应遵循的开发规范。 按照此规范来开发C#程序可带来以下益处: · 代码的编写保持一致性, · 提高代码的可读性和可维护性, · 在团队开发一个项目的情况下,程序员之间可代码共享 · 易于代码的回顾, 本规范是初版,只适用于一般情况的通用规范,并不能覆盖所有的情况。 2. 文件组织 2.1 C # 源文件 类名或文件名要简短,不要超过2000LOC,将代码分割开,使结构清晰。将每个类放在一个单独的文件中,使用类名来命名文件名(当然扩展名是.cs)。这种约定会使大家工作更简单。 2.2 目录设计 为每一个命名空间创建一个目录。(用MyProject/TestSuite/TestTier作为MyProject.TestSuite.TestTier的路径,而不用带点的命名空间名做路径)这样可以更容易地将命名空间映射到目录层次划分。 3. 缩进 3.1 换行 当一个表达式超过一行时,根据这些通用原则进行处理: · 在逗号后换行。 · 在操作符后换行。 · 在高层换行而不要在低层处换行。 · 折行后对齐上一行语句同一层的表达式起始位置。 方法调用换行示例: longMethodCall(expr1, expr2, expr3, expr4, expr5); 算术表达式 换行示例: 推荐: var = a

switch语句的条件类型

人走茶凉 提交于 2019-11-27 01:14:57
  作用在byte、short、char、int,这种基本类型和封装对象和枚举、String类型,其它基本数据类型及引用数据类型都不能做为case条件。   基本数据类可以这样简单记忆,能自动加到int类型的简单类型和封装类,再加二个enum类型和String类型,   其中String类型,是在JDK1.7以后,String类型才可以做为switch的case条件的, public static void main(String[] args) { Direction d = Direction.NORTH; switch (d) { case SOURTH: System.out.println("SOURTH"); break; case NORTH: System.out.println("NORTH"); break; default: System.out.println("默认情况!"); break; } } 下面是 Direction 代码: public enum Direction { SOURTH,NORTH } 细节决定成败! 来源: https://www.cnblogs.com/xdtg/p/11337494.html

Java基础之流程控制

£可爱£侵袭症+ 提交于 2019-11-26 19:33:34
顺序结构 不添加任何流程控制语句,自上而下执行,如方法 分支结构 if语句:共有以下三种使用方式,其中在使用else if的时候需要注意,elseif语句一旦判断成立,不在执行(else本身是取反的含义),所以一般优先处理包含范围更小的情况 If If else If else if if语句是使用boolean值来判断 switch语句: switch(exp) case expression表达式数据类型只能是byte,short,int,char,String,枚举 case代码块中省略了break,后面的case不会再判断直接执行,直到遇到break 循环结构 四个部分:初始化语句、循环条件、循环体、迭代语句 While Do while For while循环和for循环不同点在于迭代语句的位置,while在循环体内,for循环四种条件在一起 控制循环结构 Break:跳出当前所在循环体 Continue:跳出当前所在循环体,继续下次循环;需要注意的是while语句的迭代条件在循环体末尾,使用continue无法执行到迭代语句会停止下面的循环 结束标签:在循环体前添加紧跟冒号的标识符,如outer: return:也可以放在循环语句中,但终止的是方法! 来源: https://www.cnblogs.com/dream08/p/11331111.html

15 控制语句switch

拈花ヽ惹草 提交于 2019-11-26 14:33:01
控制语句switch 语法 switch(表达式){ case 值1: java语句; break; case 值2: java语句; break; case 值3: java语句; break; default: java语句; } 例: int week = 1; switch(week) { case 1: System.out.println("今天是星期一"); break; case 2: System.out.println("今天是星期二"); break; case 3: System.out.println("今天是星期三"); break; case 4: System.out.println("今天是星期四"); break; case 5: System.out.println("今天是星期五"); break; case 6: System.out.println("今天是星期六"); break; case 7: System.out.println("今天是星期日"); break; default: System.out.println("数字错误"); } 执行流程 * 先计算表达式的值 * 然后和case后面的匹配,如果有就执行对应的语句,否则执行default控制的语句 注意: – 程序遇到break语句结束了,可以不写break,如果不写

JavaScript之基本语句

风流意气都作罢 提交于 2019-11-26 13:49:42
写在前面:前面的内容记录了JavaScript的一些基本概念,本次主要讲解一下JS中常用的语句。   和大多数其他编程语言一样,JS也主要包括:选择、循环、错误检测、函数等。JS的语句基本是由值、运算符、表达式、关键字和注释构成,但并不是语句一定包含所有以上要素。   计算机程序一般是指能够被计算机执行的一些列指令的集合。在编程语言中,这些指令被称为语句,JavsScript程序就是一系列的JavaScript语句集合。 一  选择语句   这里我打算用一个例子来说明,可能会更好理解: 1 var age = parseInt(prompt("please enter your age:")); 2 if(age < 0){ 3 alert("are you sure?"); 4 }else if(age > 120){ 5 alert("you must be dead!"); 6 }else{ 7 alert("you are still alice!"); 8 }   代码说明: if-else语句和其他区大多数编程语句一样。通过判断if后面的括号内的表达式的真假,决定是否执行紧跟其后的大括号内的代码。   上面的代码含义如下:第一行表示接受一个数字并保存在变量age中(现在不必在一parseInt()是什么东东)。            

Java语言基础(2) 流程控制

怎甘沉沦 提交于 2019-11-26 12:45:27
复合语句 {语句块} 条件语句if if(布尔表达式){ 语句序列 } if后面的复合语句块只有一条语句,省略{}并无语法错误,但为了增强程序的可读性最好不要省略 if(表达式){ 若干语句 }else{ 若干语句 } switch多分支语句 switch(表达式) {case 常量值1; 语句块1     [break] case 常量值n; 语句块n     [break] default; 语句块n+1 [break] } 在JDK1.6及以前的版本中,switch语句中表达式的值必须是整型或字符型,常量值1~n必须也是,但在JDK1.7中,switch语句的表达式的值还可以使用字符串型. 循环语句 while(条件表达式){ 执行语句 } do{ 执行语句 }while(条件表达式); 两者的区别在于do while至少做一次循环 for循环 for(表达式1;表达式2;表达式3){ 语句序列 } for(; ;) {} 无限循环 foreach语句 : for(元素变量x:遍历对象obj){ 引用了x的java语句 } for 循环是支持迭代的一种通用结构 来源: https://www.cnblogs.com/czqmax/p/11317511.html

面试复习(二)&mdash;&mdash;C/C++关键字:switch语句中的case结尾是否必须添加break语句

落花浮王杯 提交于 2019-11-26 12:25:24
一般必须在 case语句结尾 添加 break语句 。因为 一旦通过switch语句确定了入口点,从入口点的case语句开始一直往下执行,除非遇到关键字break,否则会继续执行满足这个case之后的其他case语句,直到switch结束或者遇到break为止。如果在switch中省略了break语句,那么匹配的case值后面的所有情况(包括default情况)都会被执行。 比如: #include <iostream> using namespace std; int main() { int a; for (a = 0; a < 3; a++) { switch (a) { case 0: printf("a=%d\n", a); case 2: printf("b=%d\n", a); default: printf("others=%d\n", a); } } return 0; } 加了break以后: #include <iostream> using namespace std; int main() { int a; for (a = 0; a < 3; a++) { switch (a) { case 0: printf("a=%d\n", a); break; case 2: printf("b=%d\n", a); break; default: printf

运算符与流程控制

南笙酒味 提交于 2019-11-26 09:32:48
【一】运算符——java程序从运算符实现对数据的处理 1.算术运算符 运算结果可能超出数据类型的范围 整数相除结果为整数 除数为零的情况 余数的符号和被除数一致 自增与自减 前缀与后缀的区别 自增和自减隐含着强制类型转换 表达式的数据类型 算术表达式就是用算数运算符连接起来的式子 2.比较运算符(关系运算符) 关系运算的结果是一个布尔值 比较运算符的等于使用两个等号 变量进行比较是比较两个变量的值 字符串的比较 +号连接字符串 直接复制字符串字面量 使用String类的构造方法创建字符串对象,会在堆中分配一块存储空间 如果想比较每个字符是否相等可以使用equals()方法 xx.equals(xxx); String 是一个类,是一种引用类型 3.逻辑运算符 &逻辑与 |逻辑或 ^逻辑非 &&短路与 ||短路或 4.赋值运算符 变量 = 表达式(把表达式的值赋值给左侧的变量,前后数据类型要兼容) 复合赋值隐含着强制类型转换 5.条件运算符 条件 ? 表达式1 : 表达式2 如果条件成立则整个表达式的值就是表达式1的值 如果条件不成立则整个表达式的值就是表达式2的值 6.字符串连接运算符 使用 + 进行字符串的连接 先把基本类型数据转换成字符串再进行连接 转换可以考虑使用空串 ""+ 7.位运算符 7.1. & 按位与 - 两个操作数都是1,结果才是1 7.2. | 按位或