正在回答
2回答
同学你好,
1、如果 i = 2,逻辑上来讲val的定义和初始化会跳过(都在case1中)那么case2 的赋值语句应该要报错,但是为什么编译没有错误。 那么val是在什么时候定义为int的呢?
不应该报错,val是在case1时就已经被定义好了,即使跳过了case1
,
2、如果变量不是基础类型而是对象的话,有什么不同呢?
同学是指如下这种吗?老师在这里并没有赋值,以空举例:
如果是以上这种,可以发现并没有区别。
3、switch case 下面语句块中变量的生存周期是什么样的呢?
在case语句中定义局部变量,它的作用域为它所定义的地方到它所在的语句块结束为止。
如果我的回答解决了你的疑惑,请采纳,祝学习愉快~
1. Java 零基础入门
- 参与学习 人
- 提交作业 3802 份
- 解答问题 11489 个
本阶段带你迈入Java世界,学习Java必备基础知识,基础语法、面向对象思想以及常用工具类的使用。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星