相关疑难解决方法(0)

Java中评估顺序的规则是什么?

我正在阅读一些Java文本并获得以下代码:

int[] a = {4,4};
int b = 1;
a[b] = b = 0;
Run Code Online (Sandbox Code Playgroud)

在文中,作者没有给出明确的解释,最后一行的效果是: a[1] = 0;

我不太清楚我理解:评估是如何发生的?

java operator-precedence

83
推荐指数
3
解决办法
2万
查看次数

有人可以解释一下为什么“运算符优先级”适用于 javaScript 中的“||”、“&&”等逻辑运算符

有人能解释一下为什么运算符优先级适用于 JavaScript 中的||和等逻辑运算符&&吗?这在以下操作中意味着什么:

真|| 假&&假

thefalse && false被首先计算,因为&&运算符比||JavaScript 中的运算符具有更高的优先级。据我所知false && false,JavaScript 引擎不会评估它,因为在 || 之前 运算符有一个true文字,当某些东西true||运算符之前,运算符之后的东西||将不会被评估,这在 JavaScript 中被称为“逻辑运算符的短路”,另一个例子是:

真|| 警报()

即使函数调用的优先级高于||运算符,函数调用也永远不会发生,另一个例子是

真|| x = 7

如果在 JavaScript 中逻辑运算符的短路是真的,那么上面的代码不能给出错误,因为x = 7没有被计算,因为在||运算符之前有一个true文字。

javascript operator-precedence short-circuiting logical-operators short-circuit-evaluation

3
推荐指数
1
解决办法
150
查看次数