Java 我想使用在';中初始化的输入变量;如果';条件到该条件之外

Java 我想使用在';中初始化的输入变量;如果';条件到该条件之外,java,if-statement,Java,If Statement,我有一些条件,在这种条件下,我想从用户那里获取输入。但是我也想在这个条件之外使用这个输入。我在“if”之外声明变量,但我需要在条件中初始化它。那么,是否有必要在java外部使用它呢?基本上可以 初始化任何基元并在您的条件下覆盖它 像一个整数 int i = 0; if (condition){ i = userinput; } 还是一根绳子 String i = ""; if (condition){ i = userinput; } 您需要使用默认值初始化if语句外部的变量。

我有一些条件,在这种条件下,我想从用户那里获取输入。但是我也想在这个条件之外使用这个输入。我在“if”之外声明变量,但我需要在条件中初始化它。那么,是否有必要在java外部使用它呢?

基本上可以 初始化任何基元并在您的条件下覆盖它

像一个整数

int i = 0;
if (condition){
    i = userinput;
}
还是一根绳子

String i = "";
if (condition){
   i = userinput;
}

您需要使用默认值初始化if语句外部的变量。如果您不输入if语句,但希望稍后从中读取,那么您的变量将具有什么值?这需要申报<代码>空也是可能的。或者只需在if语句之前声明变量,并在if语句内部以及同一if语句的else分支中初始化变量:

Object test = null;
if (condition == true) {
 test = new Object();
}
System.out.println(test);


问题是什么?很难说,但听起来你只需要在if条件之前初始化变量,然后更新里面的变量。谢谢。。。。这对我帮助很大。3天来我对这件事感到非常困惑。这很简单。或者:
inti;if(condition){i=userinput;}else{i=0;}
(或
inti=condition?userinput:0;
)。一旦赋值变量,它将有效地保持为最终值,这意味着您可以在lambda、匿名类等中使用它。您不需要(也不应该)编写
condition==true
condition
本身就足够了,更短,更不容易出错。
Object test;
if (condition == true) {
 test = new Object();
} else {
  test = anotherValue;
}
System.out.println(test);