java如何使用在if之外的if语句中声明的变量?
如何使用在if
块外的if
语句中声明的变量
if(z<100){
int amount=sc.nextInt();
}
while(amount!=100)
{ //this is wrong.it says we cant find amount variable ?
something
}
你可以在下面搜索框中键入要查询的问题!
如何使用在if
块外的if
语句中声明的变量
if(z<100){
int amount=sc.nextInt();
}
while(amount!=100)
{ //this is wrong.it says we cant find amount variable ?
something
}
# 1 楼答案
amount
的作用域绑定在花括号内,因此不能在外部使用解决方案是将其置于if块之外(注意,如果if条件失败,
amount
将不会被赋值):或者,您可能希望while语句位于if中:
# 2 楼答案
你不能,它只限于if区。或者使其范围更可见,比如在if之外声明它,并在该范围内使用它
检查here关于java中的变量作用域
# 3 楼答案
为了在外部作用域中使用
amount
,您需要在if
块之外声明它:要能够读取其值,还需要确保在所有路径中为其分配值。您尚未演示如何执行此操作,但有一个选项是使用其默认值0
或者更简洁地使用条件运算符: