当前位置: 首页 > 知识库问答 >
问题:

如何编写switch语句,特别是default语句

包谭三
2023-03-14
    null
switch (grade) {
case 'A':
    break;
case 'B':
    break;
case 'C':
    break;
case 'D':
    break;
case 'F':
    break;
case 'X': 

 break;
}
default: grade = 'X'

但这也不起作用。我如何添加'X'作为这个switch语句的默认值,什么可以帮助我防止自己再次犯这个错误?

共有1个答案

柴衡
2023-03-14

该开关可以以其他方式使用,score>grade,而不是像您那样grade>...

static char scoreToGrade(int score) {
    switch (score) {
        case 0:
        case 1:
        case 2:
        case 3:
        case 4:
            return 'F';
        case 5:
        case 6:
            return 'D';
        case 7:
            return 'C';
        case 8:
            return 'B';
        case 9:
        case 10:
            return 'A';
        default:
            return 'X';
    }
}

或使用其他开关表达式

static char scoreToGrade(int score) {
    return switch (score) {
        case 0, 1, 2, 3, 4 -> 'F';
        case 5, 6 -> 'D';
        case 7 -> 'C';
        case 8 -> 'B';
        case 9, 10 -> 'A';
        default -> 'X';
    };
}

然后打电话

char grade = scoreToGrade(4);
char grade = scoreToGrade(8);
 类似资料:
  • switch 语句可以替代多个 if 判断。 switch 语句为多分支选择的情况提供了一个更具描述性的方式。 语法 switch 语句有至少一个 case 代码块和一个可选的 default 代码块。 就像这样: switch(x) { case 'value1': // if (x === 'value1') ... [break] case 'value2':

  •  使用 switch 语句可以更简洁地实现 if ~ else if 的结构。格式如下。 switch(base_expression) { casecondition_expression1: casecondition_expression2: : : default: : : }  写在 base_expression 位置的表达式会在刚开始时被求值。switch 后面的语句块中的 case

  • 主要内容:基本写法,跨越 case 的 fallthrough——兼容C语言的 case 设计Go语言的 switch 要比C语言的更加通用,表达式不需要为常量,甚至不需要为整数,case 按照从上到下的顺序进行求值,直到找到匹配的项,如果 switch 没有表达式,则对 true 进行匹配,因此,可以将 if else-if else 改写成一个 switch。 相对于C语言和 Java 等其它语言来说,Go语言中的 switch 结构使用上更加灵活,语法设计尽量以使用方便为主。 基本写

  • Go 语言条件语句 switch 语句用于基于不同条件执行不同动作,每一个 case 分支都是唯一的,从上直下逐一测试,直到匹配为止。。 switch 语句执行的过程从上至下,直到找到匹配项,匹配项后面也不需要再加break 语法 Go 编程语言中 switch 语句的语法如下: switch var1 { case val1: ... case val2:

  • C# 中的 switch 语句有些类似于《 if else if 语句》,都可以根据表达式执行某个的语句块,其语法格式如下: switch(表达式){     case value1:     //表达式的值为 value1 时,要执行的代码         break;     case value2:     //表达式的值为 value2 时,要执行的代码         break;   

  • 当条件判断分支太多的时候,我们会使用switch语句来优化逻辑。 package main import "fmt" import "time" func main() { // 基础的switch用法 i := 2 fmt.Print("write ", i, " as ") switch i { case 1: fmt.Println("