为了将来的读者和我自己以后的理智,我想绝对清楚地switch
说明,不能省略没有default
案例(由于涵盖了所有案例)或if-elseif-else
与不应做任何事情的最终 else连续的语句并包含对此的评论(参见示例)。
但是,每当我default
在语句中包含 caseswitch
并将其留空时,我必须在default
case 中放置一个分号,否则会出现编译器错误:“ Line [Line of closing Bracket of switch statement]`missing ';' 在 '}'" 发生之前。为什么?!
示例:生成编译器错误
switch(direction) {
case MOVE_UP:
//...
break;
case MOVE_RIGHT:
//...
break;
case MOVE_DOWN:
//...
break;
case MOVE_LEFT:
//...
break;
default:
/* DO NOTHING */
}
示例:不生成编译器错误
switch(direction) {
case MOVE_UP:
//...
break;
case MOVE_RIGHT:
//...
break;
case MOVE_DOWN:
//...
break;
case MOVE_LEFT:
//...
break;
default:
/* DO NOTHING */;
}