编译错误和运行错误

来源:2-22 选择练习

大芒果hyy

2022-09-10 11:53:32

https://img.mukewang.com/climg/631c0964093d0e5005130144.jpg

https://img.mukewang.com/climg/631c09aa09183dbe05750292.jpg

这两个Integer类型对象都没有初始化,为什么一个是编译错误,一个是运行错误呢?

写回答

1回答

好帮手慕小蓝

2022-09-13

同学你好~

1.第一张图中的one变量书写在方法中,是局部变量。局部变量没有默认值,所以语法要求,必须先赋值才能使用。而代码中没有对其进行赋值,违反了语法约束,所以会报错。

2.第二张图中的i变量书写在类以内方法以外,是成员变量。成员变量具有默认值,并且由于包装类是对象类型,其默认值是null而不是0。当使用null值进行方法调用或者运算时,就会抛出空指针异常。

祝学习愉快~

0

0 学习 · 9886 问题

查看课程