为什么选B啊?D中null.length合法吗

img


下面哪个表达式不合法,为什么选B啊?D中null.length合法吗→_→?好奇

null.length那个是运行时报错,代码本身合法的。
问题在于&&的优先级,你没有括号,导致
y = (x != null) && (... ?... : ...);
这是不行的。
B,这里==不能分开,也不知道是印刷错误还是怎么回事。

&& 前面条件满足才会走后面条件, x!=null 不满足,判断结束,结果为0