在 Java 里,switch 本身是一个语句(statement),不是表达式,但可以在 switch 中使用 return,也就是说:
只要 switch 在一个方法(或 lambda)里,就可以在 case 中 return
public String getDay(int day) {
switch (day) {
case 1:
return "Monday";
case 2:
return "Tuesday";
default:
return "Unknown";
}
}
上面是完全合法的。
public int test(int x) {
switch (x) {
case 1: return 1;
// 编译错误:缺少 return 语句
}
}
return 会直接结束整个方法,不会执行 switch 后面的代码从 Java 14 开始,switch 可以是表达式,用 -> 或 yield:
String day = switch (n) {
case 1 -> "Monday";
case 2 -> "Tuesday";
default -> "Unknown";
};
或:
String day = switch (n) {
case 1:
yield "Monday";
default:
yield "Unknown";
};
switch 里可以 returnswitch 表达式返回值switch 本身不是函数,不能直接“return 出来”如果你说的是 “switch 能不能像函数一样直接返回结果”,我也可以按版本给你更具体的写法。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。