这行代码有什么作用?玩家 = (玩家 % 2) ?1 : 2;.

what does this line of code do? player = (player % 2) ? 1 : 2;

本文关键字:玩家 作用 什么 代码      更新时间:2023-10-16

我看不懂这行为什么我们在里面使用问号"?"。有 2 名球员 1 和 2 .

player = (player % 2) ? 1 : 2;

这是一个条件if,与:

if(player % 2)
    player = 1; // Odd
else
    player = 2; // Even

另一种在没有if分支的情况下执行此操作的方法:

player = 2 - (player & 0x01);

偶数的最低有效位为零。

它是三元运算符。

这行代码将player设置为1如果最初player是奇数,如果它是偶数,则设置为2

它是三元运算符。它采用以下形式:

boolean expression ? a : b;

翻译过来就是:

If this expression is true, then a else b

它通常用作赋值运算符中的右侧表达式。在您的情况下,player根据它们是偶数还是奇数来分配 1 或 2。

这意味着如果条件为真,则玩家的值为 1,否则它的值为 2。

if(player % 2) {
    player = 1;
} else {
    player = 2;
}