先来看一个没有break的例子: int main() { int a = 1; switch (a) { case 1: printf("1"); case 2: printf("2"); } } 我们看一下它的汇编代码: switch (a) 0137181F mov eax,dword ptr [a] 01371822 mov dword ptr [ebp-0D0h],eax 01371828 cmp dword ptr [ebp-0D0h],1 013718…
switch是一种选择语句,可以通过匹配某个条件,来执行某块代码 switch(expression){ case value: break;//可选 default://可选 //语句 } switch语句变量类型:可以是byte,short,int,char,或者String类型. case的值数据类型必须与变量的类型相同.而且只能是常量或字面常量 当变量的值与case语句的值相同时,case语句之后的代码开始执行,至到break语句出现才会跳出switch语句 如果没有break语句,会继…
Java语言与Go语言的switch对比 Go语言 switch str { case "yes" : do something ... case "no" do something ... default : do something ...} Java 语言 switch (str){ case "yes": do something...; break: case "no": do something...; break…
我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! 一.switch函数意义 选择性执行 二.switch函数结构 switch(表达式) { case: 常量表达式; 语句1; break; case: 常量表达式; 语句1; break; default: 语句3; break; } 三.switch函数流程 case:入口           break:结束 switch找到入口后依次向下执行语句,直到break结束 找到入口后,忽略其他所有入口,依次向下执行. 四.…
public class Test { public static void main(String args[]){ //char grade = args[0].charAt(0); char grade = 'C'; switch(grade) { case 'A' : System.out.println("优秀"); break; case 'B' : case 'C' : System.out.println("良好"); break; case 'D'…
Go语言学习笔记六: 循环语句 今天学了一个格式化代码的命令:gofmt -w chapter6.go for循环 for循环有3种形式: for init; condition; increment { } // 类似while for condition { } // 和for(;;)一样 for { } 循环slice,map,数组,字符串还可以使用下面这种方式: for key, value := range oldMap { newMap[key] = value } break 语句…
Go语言学习笔记五: 条件语句 if语句 if 布尔表达式 { /* 在布尔表达式为 true 时执行 */ } 竟然没有括号,和python很像.但是有大括号,与python又不一样. 例子: package main import "fmt" func main() { var a int = 1 if a < 2 { fmt.Printf("a < 2\n" ) } fmt.Printf("a = %d\n", a) } if.…
Go语言学习笔记这一堆主要是<Go语言编程>(人民邮电出版社)的读书笔记.中间会穿插一些零碎的点,比如源码学习之类的.大概就是这样吧. 1. 顺序编程 1.1 变量 变量的声明: var 变量名 类型 var v1 int 也可以把若干变量的声明用大括号括起来 var { v1 int v2 string } 变量初始化: 变量的初始化可以用如下的方法: var v1 int = 10 var v2 = 10 v3 := 10 这三种方法的效果大体上是一样的.需要注意的有:第三种方法不能用于声…
在学习JavaScript中的if控制语句和switch控制语句的时候,提到了使用多条件判断时switch case语句比if语句效率高,但是身为小白的我并没有在代码中看出有什么不同.去度娘找了半个小时,看了各位大神的表述,找到一个比较清晰的文章. 原来,switch进行了跳转优化,java中对switch有两种处理方式,生成不同的jvm指令,一是tableswitch,一个是lookupswitch.对于case的分支比较密集的情况,如: public class Test { public…
与我之前使用的所有语言都不同,Python没有switch/case语句.为了达到这种分支语句的效果,一般方法是使用字典映射: def numbers_to_strings(argument): switcher = { 0: "zero", 1: "one", 2: "two", } return switcher.get(argument, "nothing") 这段代码的作用相当于: function(argument)…