Java 如何在循环之外使用属于if-else循环的元素?
我需要使用一个if-else循环的变量作为一个方法的参数,或者说在if-else循环之外的某个地方,但是在同一个类中Java 如何在循环之外使用属于if-else循环的元素?,java,variables,arguments,if-statement,Java,Variables,Arguments,If Statement,我需要使用一个if-else循环的变量作为一个方法的参数,或者说在if-else循环之外的某个地方,但是在同一个类中 public static String myvar; if(x > 5) { myvar = 0 ; Double y = Double.parseDouble(myvar); System.out.prin
public static String myvar;
if(x > 5) {
myvar = 0 ;
Double y = Double.parseDouble(myvar);
System.out.println("The value is: "+ y); }
else
{
Double y= Double.parseDouble(myvar);
System.out.println("The value is: "+ y);
}
因此,每当我在循环之外的某个地方使用变量y时,它就不能被解析为变量。如何在if-else循环之外使用此变量?只需在if-else之外声明变量,就在前面
Double y=0;
如果()
y=X;
其他的
y=y代码>您必须在if-else循环中声明并初始化y
变量
还有您的语句myvar=0代码>将不会编译,因为myvar
是一个字符串
String myvar = "0";
Double y = 0.0;
if(x > 5) {
y = Double.parseDouble(myvar);
System.out.println("The value is: "+ y);
} else {
y= Double.parseDouble(myvar);
System.out.println("The value is: "+ y);
}
您有两个选择:
- 可以将其声明为类成员变量
- 您可以在
if/else
所在的方法的范围内声明它
举几个例子:
// as a member variable
public String myvar;
private Double y;
public void SomeMethod(int x)
{
if(x > 5)
{
this.myvar = "0";
this.y = Double.parseDouble(this.myvar);
System.out.println("The value is: " + this.y);
}
else
{
this.y = Double.parseDouble(this.myvar);
System.out.println("The value is: " + this.y);
}
// use this.y here
}
或
如果有别的循环?没有循环,只有一个分支。Java中的所有变量都属于一个作用域。通常用花括号表示。当卷曲括号闭合时,“y”不再是“范围内”。谷歌搜索“Java scope”以获取更多信息。Double y=0
不会编译。我会将myvar
初始化为包含数字的字符串,例如“0”
,否则他将获得NumberFormatException
。还要注意,y
不必初始化,因为它将由分支中的赋值初始化。
// as a method variable
public String myvar;
public void SomeMethod(int x)
{
Double y;
if(x > 5)
{
this.myvar = "0";
y = Double.parseDouble(this.myvar);
System.out.println("The value is: " + y);
}
else
{
y = Double.parseDouble(this.myvar);
System.out.println("The value is: " + y);
}
// use y here
}