为什么';Java允许在这里使用三元运算符吗?
代替键入:为什么';Java允许在这里使用三元运算符吗?,java,if-statement,syntax-error,conditional-operator,Java,If Statement,Syntax Error,Conditional Operator,代替键入: if (Math.random() < .5) { System.out.println("toto"); } else { System.out.println("tata"); } if(Math.random()
if (Math.random() < .5) {
System.out.println("toto");
} else {
System.out.println("tata");
}
if(Math.random()<.5){
系统输出打印项次(“toto”);
}否则{
System.out.println(“塔塔”);
}
我会发现键入以下内容是有用的,也是合乎逻辑的:
Math.random() < .5 ? System.out.println("toto") : System.out.println("tata");
Math.random()<.5?System.out.println(“toto”):System.out.println(“tata”);
但是,我得到的是错误
而不是一条语句
。我不明白这是怎么一个问题。因为三元运算符为变量赋值。将其更改为:
String toPrint = Math.random() < .5 ? "toto" : "tata";
System.out.println(toPrint);
String toPrint=Math.random()<.5?“托托”:“塔塔”;
系统输出打印项次(toPrint);
条件运算符用于计算表达式,而不是执行语句System.out.println(“todo”)
不是一个表达式:它没有任何值。如果
语句用于执行语句,请使用它。您可以这样做:String answer=Math.random()<.5?“托托”:“塔塔”;System.out.println(应答)代码>或在一行中:System.out.println(Math.random()<.5?“toto”:“tata”)代码>