【发布时间】:2020-12-14 05:21:51
【问题描述】:
我最近在一个在线java测试中写了这段代码。它在一个设置为返回整数的方法中。我收到一条错误消息,例如“变量 a 没有分配给它的值”。我觉得这很奇怪,因为 forloop 必须可以访问方法变量,并且必须注册循环内的赋值对吗?
int a;
for(int i=1;i<5;i++){
a = i;}
return a;
我确实假设该方法将返回整数 5。
这只是一个关于变量 a 范围的问题。我知道代码没有意义。
【问题讨论】:
-
for循环内的代码被编译器视为可能会或可能不会运行的代码。因此,编译器会看到一条路径,在您尝试返回之前,a不会被初始化。 -
编译器不知道循环至少会执行一次。
-
@khelwood 我认为它是重复的
-
@klutt 我正在寻找一个关于循环的。我认为足够接近了。
标签: java loops variables scope