Java - 在三元运算符中分配变量 - 意外类型错误
Java - Assigning variable in ternary operator - unexpected type error
我对编码和 Java 比较陌生。我正在尝试使用三元运算符代替我的一些“if”语句。
当我将下面的代码编码为 if/else 时,它工作正常,但是当我 运行 时,我得到
unexpected type
required: variable
found: value line:3
能不能不用三元赋值,还是我做错了?提前致谢!
int front;
nums.length>4 ? front = 4 : front = nums.length;
在Java中,三元运算符是一个“赋值”运算符,这意味着必须将运算结果“始终”赋给一个变量。
目标变量位于符号“=”的左侧(像往常一样),而运算符位于右侧。
正如您所说,它只是作为 if/else。结构是这样的:
<destination_variable> = <condition> ? <value_if_cond_true> : <value_else>
因此,在您的特定情况下,三元运算符将编写如下:
int front = nums.length > 4 ? 4 : nums.length;
我对编码和 Java 比较陌生。我正在尝试使用三元运算符代替我的一些“if”语句。 当我将下面的代码编码为 if/else 时,它工作正常,但是当我 运行 时,我得到
unexpected type
required: variable
found: value line:3
能不能不用三元赋值,还是我做错了?提前致谢!
int front;
nums.length>4 ? front = 4 : front = nums.length;
在Java中,三元运算符是一个“赋值”运算符,这意味着必须将运算结果“始终”赋给一个变量。
目标变量位于符号“=”的左侧(像往常一样),而运算符位于右侧。
正如您所说,它只是作为 if/else。结构是这样的:
<destination_variable> = <condition> ? <value_if_cond_true> : <value_else>
因此,在您的特定情况下,三元运算符将编写如下:
int front = nums.length > 4 ? 4 : nums.length;