您需要区分变量声明和赋值。
String foo; // declaration of the variable "foo"
foo = "something"; // variable assignment
String bar = "something else"; // declaration + assignment on the same line
如果试图使用未赋值的声明变量,如:
String foo;
if ("something".equals(foo)) {...}
您将得到一个编译错误,因为变量没有分配任何东西,因为它只是声明的。
在本例中,在条件块中声明变量
if (someCondition) {
String foo;
foo = "foo";
}
if (foo.equals("something")) { ... }
所以它只在该块内部可见。您需要将该声明移到外部,并以某种方式为其赋值,否则您将获得条件赋值编译错误。一个例子是使用其他
块:
String foo;
if (someCondition) {
foo = "foo";
} else {
foo = null;
}
或在声明时分配默认值(null?)
String foo = null;
if (someCondition) {
foo = "foo";
}
你不能,因为范围可变。
如果在If
语句中定义变量,那么它将仅在If
语句的范围内可见,该语句包括语句本身和子语句。
if(...){
String a = "ok";
// a is visible inside this scope, for instance
if(a.contains("xyz")){
a = "foo";
}
}
您应该在作用域之外定义变量,然后在if
语句中更新其值。
String a = "ok";
if(...){
a = "foo";
}
我无法编译这个程序。有人看到我做错了什么吗?在if语句之后,变量matchOdds似乎不存在。但是我想打印出来。
好吧,我正在使用字典,例如: 然后我想做的基本上是说,如果“用户”(一个参数)的名称前面有“@”,那么将变量前缀分配为“@”,如果他们的名称前面有“~”,则将变量前缀分配为“~”,如果他们有“ 然后我想说,如果用户的名字前面有“%”,则将前缀变量设置为“%”,否则将其设置为“”(因为这些值只有两个键)。为此,我需要一个if语句,并将其与self进行比较。声音的价值。 分配前缀变量的当前代码 目前,
行动时刻 - 在unlang中使用if语句 if语句本身并不复杂。 它具有以下格式: if(condition){ ... } 由于其许多可能性,条件部分可能变得复杂。 使用if语句获取返回码 我们现在将查看模块的返回代码,并使用此代码与指定的条件进行比较。 FreeRADIUS中的每个模块都需要在调用时返回代码。 随后可以将此代码的值用作if语句中的条件检查。 使用if语句授权用户 如
在Java,如果我们运行: 它将抛出: 但是,在php中,如果我们运行: 它将打印%1。 我怀疑这是否是因为Java是强类型语言,而php是弱类型语言。能不能有人给出一个更深层次、更低层次的解释?
问题内容: 我想知道是否可以像这样在条件运算符中为变量赋值: 用Java有什么办法做到这一点?因为我知道在某些情况下这是可能的,但是我不确定在if语句中是否做错了或者是否不可能。 问题答案: 可以分配变量,但不能在条件语句中声明变量:
问题内容: 在C语言中,我可以编写一个if语句 但是,当我尝试在Java中执行相同操作时,编译器会告诉我“不兼容的类型”,并说我需要一个而不是一个。有什么方法可以用Java编写C代码吗? 问题答案: 以下任何一项都可以为您工作: