Eri*_*ica 16 java if-statement inline
描述:compareChar返回true或false.如果为true,则设置button的值,如果false则不执行任何操作.
我想使用:如果compareChar(curChar,toChar("0"))?.getButtons()得到(I).setText( "§");
netbeans说:')'除了':'除外
我试过这些组合:
if compareChar(curChar, toChar("0")) ? getButtons().get(i).setText("§");
Run Code Online (Sandbox Code Playgroud)
谢谢
Sac*_*ach 63
语法如下所示:
"your condition"? "step if true":"step if condition fails"
Run Code Online (Sandbox Code Playgroud)
小智 22
如果你使用'if'语句,java中的(inline if)将无法工作..正确的语法在以下示例中:
int y = (c == 19) ? 7 : 11 ;
Run Code Online (Sandbox Code Playgroud)
要么
String y = (s > 120) ? "Slow Down" : "Safe";
System.out.println(y);
Run Code Online (Sandbox Code Playgroud)
你可以看到变量Y的类型与返回值相同......
在你的情况下,最好使用普通的if语句不是内联的,如果它是在没有"?"的前一个答案中
if (compareChar(curChar, toChar("0"))) getButtons().get(i).setText("§");
Run Code Online (Sandbox Code Playgroud)
Gui*_*ume 18
三元运算符? :是返回一个值,当你想if用于流控制时不要使用它.
if (compareChar(curChar, toChar("0"))) getButtons().get(i).setText("§");
Run Code Online (Sandbox Code Playgroud)
会工作得很好.
http://java.about.com/b/2009/06/06/java-term-of-the-week-ternary-operator.htm