java - 返回值分配问题(对于原始数据类型)
问题描述
当原语具有默认值时,为什么我需要在下面的代码中定义结果变量。
public class DevideByZero {
public static void main(String[] args) {
System.out.println(devidebyzero());
}
public static double devidebyzero() {
double result;//why do i need to define result when primitive have default value
try{
System.out.println("inside try block");
return (double) (1/0);
}finally{
System.out.println("inside final");
return result;
}
}
}
解决方案
每个类变量、实例变量或数组组件在创建时都使用默认值进行初始化
但在你的情况下,它是一个局部变量,然后:
局部变量(第 14.4 节、第 14.14 节)必须在使用前显式赋值
推荐阅读
- python - 如何找到列表的最长连续非零子集?
- angular - 无法从另一台机器访问在本地主机上本地运行的 Angular 应用程序
- javascript - 这是使用 localStorage 的正确方法吗?
- c++ - '自定义向量
::size': 无法访问在类“CustomVector”中声明的私有成员 ' - java - 如何停止从互联网上解析schemaLocation
- java - 使用 gradle 6.6 排除资源
- javascript - 为什么变量 secondMenu 在使用反应从选择菜单中选择选项时不更新?
- django - Django 应用程序未在管理页面中显示注册模型
- javascript - 如何将模式应用于忽略元素变换值的 SVG 元素?
- python - UnboundLocalError 从 .bat 运行 .py(使用 API);在命令提示符下运行良好