怎么这不可能?我开始表达非法行为.
(s1.charAt(i) == ' ') ? i++ : break;
Run Code Online (Sandbox Code Playgroud)
dop*_*ner 24
这里要理解的是?:运算符用于返回一个值.你基本上是在这一行调用一个看起来像这样的函数:
anonymous function:
if(s1.charAt(i) == ' '):
return i++;
else:
return break;
Run Code Online (Sandbox Code Playgroud)
没有意义,对吧?的:运营商仅设计为的if/else return语句像上面,而不是更换的if/else完全的简写.
Bol*_*ock 13
您不能使用break三元条件表达式的一部分,因为break它不是表达式本身,而只是一个控制流语句.
为什么不使用if-else结构呢?
if (s1.charAt(i) == ' ') {
i++;
} else {
break;
}
Run Code Online (Sandbox Code Playgroud)