为了账号安全,请及时绑定邮箱和手机立即绑定

在一种情况下使用变量,在另一种情况下声

在一种情况下使用变量,在另一种情况下声

Smart猫小萌 2023-03-09 13:54:59
我不是 Java 的新手,但这是我以前从未见过的东西。假设有一个 switch case,在 case 0 中声明一个变量使变量在其他情况下可见,这是一件奇怪的事情,我认为这不是 java 风格。public static void main(String[] args) {    String _case = "case";    switch (_case) {        case "1":            String foo = "foo";            break;        case "2":            String bar = "bar";            break;        case "case":            foo = "foo";            System.out.println(foo);            // System.out.println(bar); //Variable bar might not have been initialized            break;    }}如果1未验证大小写,为什么以及如何String foo声明变量?在线执行代码
查看完整描述

1 回答

?
MMTTMM

TA贡献1869条经验 获得超4个赞

因为您foo = "foo"在最后一个案例中进行了设置,所以它保证变量在那个时候被实例化。bar在最后一种情况下没有任何时刻被实例化,给你这个错误。这是因为 case 中变量的作用域等于整个 switch 语句的作用域。有关此问题的其他问题的更多信息



查看完整回答
反对 回复 2023-03-09
  • 1 回答
  • 0 关注
  • 109 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号