永发信息网

java新手求关于局部变量初始化问题的指导,switch中的default语句让我困惑。

答案:4  悬赏:80  手机版
解决时间 2021-01-31 20:59
java新手求关于局部变量初始化问题的指导,switch中的default语句让我困惑。
最佳答案
default是指前面的所有case都不匹配 默认项
LZ你想想 你不手动初始化 但是你有默认值 他没有匹配值就匹配default了 最后打印grade会用default的grade
当你没有defualt的时候 你又不手动初始化 System.out.print("小华是"+grade+"的学生"); 编译器是找不到grade值的 肯定不会通过编译的
全部回答
你最后的输出语句用到了grade,所以编译器去检查有没有赋值。switch中的case是有条件执行的,也就是说有可能所有case分支都不会执行,也就是grade没能被初始化。这时如果你写了default,那么无论如何都会执行default部分(case中没有break)。所以就出现了不加default编译不通过的情况。
在switch语句中case1到case12中,没有满足条件就会进入default语句,变量的定义规定变量必须进行初始化,现在你不加default语句,变量就没有进行初始化,case后面是判断的,符合条件才会给变量grade初始化,如果不符合条件呢,就不会进入这个case语句中,如果1到12都不符合条件,那就是说grade没有初始化,所以编译不会通过
因为在switch语句中case1到case12中,没有满足条件就会进入default,而java虚拟机不会知道case1到case12有没有满足条件,万一要是没有满足,也没有写default,grade就没有被赋值。如果写了default,就算case1到case12有没有满足条件,grade也能被赋值
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
父亲去世,母亲健在、我是否可以将户口迁入父
佳诚兽药服务部地址好找么,我有些事要过去
世界最后之日怎么加固房屋
金麒水族怎么去啊,我要去那办事
我儿子今年十八岁,得了旋晕症也两年了,晕的
我国正在坚持和完善以按劳分配为主体、多种分
重庆市合川区公安局交通管理所网址是
成都到广州可不可以只买到重庆的票,然后上车
精品宠物会所怎么去啊,我要去那办事
判断 如果a大于0,b大于0,那么a+b大于0 如果a
大人小孩都看看吧! 你们父母和做父母的都是
三星C9Pro流量使用量怎么限制
铁元补铁补血效果怎么样
在淘宝退货,快递到我这了 我拒签了,我点了
闽江水族·花卉地址有知道的么?有点事想
推荐资讯
支付宝能帮几个手机号
如果你相中的一个男的,第一次见面对你很好,
物资宾馆(府西街)地址有知道的么?有点事想过
崖分的意思是什么啊?知道的请说下!
如图,△ABC是等边三角形,点D、E分别在CA、AB
鼓乐手的意思是什么啊?知道的请说下!
TD-SCDMA采用了()多址方式A.时分多址B.频分
为什么别克新车开起来发动机会像拖拉机的声音
神传的意思是什么啊?知道的请说下!
阿拉斯加州地图以前是不是属于加拿大
阿萨村地址在什么地方,想过去办事
我家的小金鱼今天死了我改怎么给她超度
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?