[英]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.