繁体   English   中英

将三元运算符与int和boolean一起使用时出错

[英]Error while using Ternary operator with int and boolean

您能帮我了解我在哪里做错了吗。 在编写初学者Java资料时,我会解决这个问题。

问题:-显示如何使用?重写此序列。 运算符if(x <0)y = 10; 否则y = 20;

答:-x <0? y = 10:y = 20;

但是当我尝试执行相同的操作时,我得到了一个错误

public class Ternary {
public static void main(String[] args) {
    int result, x, y;
    result = x < 0 ? y =10 : y =20;
    System.out.println(result);
    }

}

结果错误:-此行有多个标记-条件操作数类型int和布尔值不兼容-令牌“ =“,!=预期的语法错误”

使用三元运算符时,会将最左边的变量分配给条件的结果。 换句话说,您只需要两个变量(我将使用result和x)。

因此,代码应为:

结果= x <0? 10:20;

如果x <0,这将设置结果= 10,否则结果将为20!

像这样替换代码。 它会工作。

public static void main(String[] args) {
    int result, y;
    int x = -1;
    // Next try with int x = 1;
    result = x < 0 ? (y = 10) : (y = 20);
    System.out.println(result);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM