一、Switch语法结构
switch(expression) {
case value1:
// 当 expression 等于 value1 时执行的语句
break;
case value2:
// 当 expression 等于 value2 时执行的语句
break;
default:
// 当 expression 与上面的 value 都不匹配时执行的语句
break;
}
Switch语句是编程语言中一种很常见的条件分支语句,其基本结构如上所述。其中expression为要被测试的表达式,value1、value2等则为表达式可能等于的值。如果expression匹配上其中一个值,则会执行相应的代码块直到break语句被运行或者switch语句执行完毕。如果expression没有与任何值匹配,则会执行default中的代码块。
二、Switch语句Power BI
在Power BI中,switch语法可以被用于创建计数器和分段函数,例如根据数据的不同范围来显示不同的颜色。
Color = SWITCH( TRUE(), Sales >= 1000, "#6EAE37", Sales >= 500, "#F7C746", Sales >= 100, "#F29F4F", "#ED7D31" )
此代码段会将销售量按照不同的范围用不同的颜色绘制出来。这种方法相比于if语句或者嵌套if语句来说,能够更加清晰、简洁地表达计数器的意图。
三、Switch语法用法
Switch语法在编程中主要用于替代if…else语句中过于冗长的判断代码。以下是一些常见的Switch语法用法:
1. 替代冗余的if…else语句
Switch语句可以将复杂的if…else语句精简成简洁的代码块。以下是一个示例:
int day = 4;
switch (day) {
case 1:
printf("Monday");
break;
case 2:
printf("Tuesday");
break;
case 3:
printf("Wednesday");
break;
case 4:
printf("Thursday");
break;
case 5:
printf("Friday");
break;
case 6:
printf("Saturday");
break;
case 7:
printf("Sunday");
break;
}
上述代码只需要7个case,就可以完成与7个if语句相同的功能,降低了代码的维护难度。
2. 进行肯定或否定的测试
Switch语句可以测试一个表达式是否等于特定的值,并给出true或false的结果。以下代码可以帮助理解:
string fruit = "apple";
switch (fruit) {
case "apple":
case "pear":
case "orange":
printf("This is a fruit!");
break;
default:
printf("This is not a fruit!");
break;
}
如果fruit等于”apple”、”pear”或者”orange”中的任何一个,代码输出的结果就是”This is a fruit!”。否则输出的结果为”This is not a fruit!”。可以很明显地看出,该方法相比if语句更加简单直观。
3. 基于枚举的测试
Switch语句可以根据枚举值来进行测试。以下代码示例:
enum Lights { Red, Yellow, Green };
Lights light = Green;
switch (light) {
case Red:
printf("The light is red!");
break;
case Yellow:
printf("The light is yellow!");
break;
case Green:
printf("The light is green!");
break;
}
上述代码定义了一个枚举类型Lights,包含三个值:Red、Yellow和Green。当light等于Green时,输出的结果为”The light is green!”。
四、Switch语法可以用哪些类型
Switch语句可以用于处理大多数数据类型,包括int、char、short、byte和long等。在Java中,switch语句还可以处理String类型。以下为一个示例:
String fruit = "apple";
switch (fruit) {
case "apple":
printf("This is an apple!");
break;
case "pear":
printf("This is a pear!");
break;
case "banana":
printf("This is a banana!");
break;
}
如果fruit等于”apple”,则输出的结果是”This is an apple!”。如果fruit等于其他的值,则switch语句会直接跳过。
五、Switch语句程序
以下是一个基于Switch语法的简单程序:
#include
int main() {
int a;
printf("Enter a number: ");
scanf("%d", &a);
switch (a) {
case 1:
printf("Monday");
break;
case 2:
printf("Tuesday");
break;
case 3:
printf("Wednesday");
break;
case 4:
printf("Thursday");
break;
case 5:
printf("Friday");
break;
case 6:
printf("Saturday");
break;
case 7:
printf("Sunday");
break;
default:
printf("Invalid input!");
break;
}
return 0;
}
该程序将用户输入的数字与1-7进行匹配,输出该数字代表的星期几。如果用户输入的数字不是1-7的范围,则输出”Invalid input!”。
六、Switch语句细节
1. Case中不需要break语句
在Switch语句中,如果Case代码块执行完毕没有出现break语句,则程序会继续执行下面的代码块,直到遇到break或者执行完毕。以下是一个例子:
int day = 4;
switch (day) {
case 1:
printf("Monday");
case 2:
printf("Tuesday");
break;
case 3:
printf("Wednesday");
break;
case 4:
printf("Thursday");
break;
case 5:
printf("Friday");
break;
case 6:
printf("Saturday");
break;
case 7:
printf("Sunday");
break;
}
在上述代码中,如果day等于1,输出的结果就是”MondayTuesday”,这是由于没有break语句,导致程序继续执行了下一个代码块。
2. Default语句位置
Default语句通常被放在Switch语句的末尾,可以确保所有Case代码块都被执行完毕后,才会执行default代码块。以下是一个示例:
int day = 8;
switch (day) {
case 1:
printf("Monday");
break;
case 2:
printf("Tuesday");
break;
case 3:
printf("Wednesday");
break;
case 4:
printf("Thursday");
break;
case 5:
printf("Friday");
break;
case 6:
printf("Saturday");
break;
case 7:
printf("Sunday");
break;
default:
printf("Invalid input!");
break;
}
在该代码中,如果day等于8,程序会直接执行default代码块,输出结果为”Invalid input!”。
七、Switch语法错误
以下是一些常见的Switch语法错误:
1. 没有default代码块
如果Switch语句中没有设置default代码块,当input不匹配任何Case时,程序会直接跳过Switch语句。
2. Case代码块没有break语句
如果Case代码块内没有break语句,则程序会继续执行下一个代码块,直到遇到break语句或执行完毕。
3. Case代码块中有重复的值
如果Case代码块中出现重复的值,则只有第一个匹配的代码块会被执行。
4. switch语法与float,string,long,char也可以一起使用
但是在使用时需要注意转换,并且不建议和double一起使用。
八、Switch语句规定
以下是一些关于Switch语句的规定:
1. Case中只能使用常量表达式或者字面量
Case代码块中只能使用常量表达式或者字面量,不能使用变量或函数的返回值。
2. Switch语句不能比较字符串
在很多编程语言中,Switch语句无法比较字符串类型的数据。不过在Java中,可以使用字符串的equals()方法来进行比较。
九、Switch语句的用法
Switch语句可以用于替代if…else结构中较为复杂的判断条件,使代码更加清晰明了。在Power BI中,Switch语法还可以用于创建计数器和分段函数等。可以对参数的不同情况进行分类处理,提高代码的效率。
结语
本篇文章深入探究了Switch语法的各个方面,包括语法结构、应用细节、常见错误和规定等。Switch语句在编程中有着广泛的应用,能够有效地提高代码的可读性和执行效率。理解和掌握Switch语法对于编程技术人员来说是非常重要的。
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/251925.html
微信扫一扫
支付宝扫一扫